Visual Studio:如何使用外部可执行文件调试库?

时间:2010-10-06 08:13:41

标签: .net visual-studio debugging class-library visual-c#-express-2010

我正在开发一个类库。该库将由另一个程序使用,一个没有源代码的.exe。库文件位置作为参数传递给此exe,例如通过运行:prog.exe lib.dll

我想使用此.exe调试库(使用断点等调试工具)。如何使用Visual C#执行此操作?

我找到了一种可行的方法,即创建一个执行prog.exe lib.dll的单行程序。当然有更好的方法吗?

3 个答案:

答案 0 :(得分:3)

在项目的调试选项中选择“启动外部程序”并输入exe的路径。在开始调试时,VS将启动exe,作为调试器附加到它。

加载库时,代码上的任何断点都将激活。

一个警告:使用外部程序确保它正在加载你正在构建的dll,如果它加载的是与源代码不匹配的不同版本,那么事情可能(最多)是奇怪的。

答案 1 :(得分:1)

如果你已经有一个使用你的库的外部程序(我也会假设它也是.net应用程序),你可以启动该程序并将调试器附加到进程( Debug - > 在菜单中附加到进程。然后,您将能够在类库代码中设置断点并进行调试。确保exe使用与您的代码(最新版本)同步的dll和pdb文件。

答案 2 :(得分:0)

  1. 你可以试试windbg。使用sos扩展,您可以使用Visual Studio完成所有操作。
  2. 如果您只想调试库,那么为什么不能将该库加载到您创建的exe文件中并进入库中,