我有一个经典的ASP网站运行在IIS上。该网站使用一些COM对象(通过VBScript CreateObject),实际上是用C#编写的.DLL。所以问题是如何在Visual Studio 2017中调试C#代码?我试图附加到进程w3wp.exe,但它没有显示任何DLL的,只是脚本代码:
我的PDB文件和DLL文件放在同一个文件夹中,我也没有选中“只是我的代码”,但是没有任何帮助。因为没有加载DLL,没有加载符号,所以我的断点没有命中
0sgqnhkj1#
如果要将调试器附加到经典ASPWeb应用程序,则需要确保告知调试器您也要调试托管代码。1.在Attach to Process窗口中,在选择要附加到的进程之前,找到Attach to:标签右侧的Select...选项;
Attach to Process
Attach to:
Select...
这将打开Select Code Type窗口,您可以在其中选择要附加的代码类型调试器。1.从列出的代码类型中选择多个代码类型,特别是适合要调试的.Net COM DLL的编译的.Net的Managed版本。
Select Code Type
Managed
1.正常连接到进程。
vsaztqbk2#
您是否尝试在C# application中附加w3wp.exe?您可以打开C# application,确保该应用程序的outout是此处引用的DLL,并在您要调试的方法上放置断点,在附加debugger时,output window本身可以告诉您是否加载了正确的symbols,如果它说symbols被加载,则breakpoint将命中。给予它应该工作,因为我已经面对过这个以前。
C# application
w3wp.exe
DLL
debugger
output window
symbols
breakpoint
2条答案
按热度按时间0sgqnhkj1#
如果要将调试器附加到经典ASPWeb应用程序,则需要确保告知调试器您也要调试托管代码。
1.在
Attach to Process
窗口中,在选择要附加到的进程之前,找到Attach to:
标签右侧的Select...
选项;这将打开
Select Code Type
窗口,您可以在其中选择要附加的代码类型调试器。1.从列出的代码类型中选择多个代码类型,特别是适合要调试的.Net COM DLL的编译的.Net的
Managed
版本。1.正常连接到进程。
vsaztqbk2#
您是否尝试在
C# application
中附加w3wp.exe
?您可以打开C# application
,确保该应用程序的outout是此处引用的DLL
,并在您要调试的方法上放置断点,在附加debugger
时,output window
本身可以告诉您是否加载了正确的symbols
,如果它说symbols
被加载,则breakpoint
将命中。给予它应该工作,因为我已经面对过这个以前。