我正在开发一个类库。该库将由另一个程序使用,一个没有源代码的.exe。库文件位置作为参数传递给此exe,例如通过运行:prog.exe lib.dll
我想使用此.exe调试库(使用断点等调试工具)。如何使用Visual C#执行此操作?
我找到了一种可行的方法,即创建一个执行prog.exe lib.dll
的单行程序。当然有更好的方法吗?
答案 0 :(得分:3)
在项目的调试选项中选择“启动外部程序”并输入exe的路径。在开始调试时,VS将启动exe,作为调试器附加到它。
加载库时,代码上的任何断点都将激活。
一个警告:使用外部程序确保它正在加载你正在构建的dll,如果它加载的是与源代码不匹配的不同版本,那么事情可能(最多)是奇怪的。
答案 1 :(得分:1)
如果你已经有一个使用你的库的外部程序(我也会假设它也是.net应用程序),你可以启动该程序并将调试器附加到进程( Debug - > 在菜单中附加到进程。然后,您将能够在类库代码中设置断点并进行调试。确保exe使用与您的代码(最新版本)同步的dll和pdb文件。
答案 2 :(得分:0)