我想用Visual Studio 2008和IIS7调试ASP.NET应用程序(Custom IHttpHandler)。
我编译源代码,开始调试(F5)和IE加载。但我的断点(在方法ProcessRequest()中)被禁用。我收到错误:
断点当前不会被击中。 没有为此文档加载任何符号。
我不知道ASP.NET编程。我是否必须在IIS中设置任何内容?
PDB文件在那里。我想检查我的DLL的符号加载状态,但我找不到它。
当我打开“Debug-> Windows-> Modules”时,我无法在列表中看到我的DLL。
只有Windows DLL和GAC等组装。
我错过了什么吗?
答案 0 :(得分:3)
Visual Studio - >调试 - >附加到流程
的w3wp.exe
此处有更多信息:http://www.codeproject.com/KB/aspnet/ProcessAttache.aspx
答案 1 :(得分:3)
对于存档:只有在进程空间中加载了相应的程序集后,才会激活断点。因此,为了启用在DLL内部的代码行上设置的断点,必须将应用程序运行到加载DLL的位置。断点将被调试器识别并在VS中解除。
答案 2 :(得分:2)
我遇到的问题是,在Debug配置中打开了Properties-> Build-> Optimize code复选框。关闭,重建和调试工作正常。
答案 3 :(得分:1)
您是否在<system.web>
部分而非<system.webServer>
注册了HttpHandler?
在web.config
:
<system.web>
...
<httpHandlers>
<add verb="GET" path="MyHandler.ashx" type="MyHandler, MyAssembly" />
...
</httpHandlers>
</system.web>
答案 4 :(得分:1)
解决了它。
我必须在调试时打开一个特定文件结尾的页面。一旦打开正确的页面,我的DDL就被加载并且断点被激活。