debugging 如何调试和单步执行COM对象

qgelzfjb  于 2023-02-04  发布在  其他
关注(0)|答案(2)|浏览(140)

我有一个经典的ASP网站运行在IIS上。该网站使用一些COM对象(通过VBScript CreateObject),实际上是用C#编写的.DLL。所以问题是如何在Visual Studio 2017中调试C#代码?
我试图附加到进程w3wp.exe,但它没有显示任何DLL的,只是脚本代码:

我的PDB文件和DLL文件放在同一个文件夹中,我也没有选中“只是我的代码”,但是没有任何帮助。因为没有加载DLL,没有加载符号,所以我的断点没有命中

0sgqnhkj

0sgqnhkj1#

如果要将调试器附加到经典ASPWeb应用程序,则需要确保告知调试器您也要调试托管代码。
1.在Attach to Process窗口中,在选择要附加到的进程之前,找到Attach to:标签右侧的Select...选项;

这将打开Select Code Type窗口,您可以在其中选择要附加的代码类型调试器。
1.从列出的代码类型中选择多个代码类型,特别是适合要调试的.Net COM DLL的编译的.Net的Managed版本。

1.正常连接到进程。

vsaztqbk

vsaztqbk2#

您是否尝试在C# application中附加w3wp.exe?您可以打开C# application,确保该应用程序的outout是此处引用的DLL,并在您要调试的方法上放置断点,在附加debugger时,output window本身可以告诉您是否加载了正确的symbols,如果它说symbols被加载,则breakpoint将命中。
给予它应该工作,因为我已经面对过这个以前。

相关问题