无法通过附加w3wp进程在IIS7上调试asp.net

5
我有一个在VS2008中编写的asp.net网站,我已经将其预编译到本地目录中,该目录是IIS 7的虚拟目录(http://machinename:83)。
当我: 1. 启动http://machinename:83/ 2. VS2008-->调试-->附加进程..-->选择w3wp.exe 3. 在VS2008中的代码中设置断点 4. 运行应用程序
但我发现它无法进入断点。(我确定断点一定被触发了)
请问有谁能帮我解决这个问题吗?

当您附加到w3wp.exe时,输出(来自_Debug_)窗口中是否有任何输出或为空? - Dmitry Selitskiy
5个回答

5

你正在做的应该可以工作,但是你可以尝试以下这种方法,在Windows服务启动时经常用来调试:

System.Diagnostics.Debugger.Launch();

只需将其放在您想要开始调试的行上,操作系统将提示您进行附加。


这真是太棒了...虽然有点慢,而且一遍又一遍地做很痛苦,但非常有效,因为你不需要了解代码运行的过程。 - user645280

5

如果您在使用Visual Studio中的“发布网站”功能,请确保选中“发射调试信息”复选框。


谢谢,这指引我朝着正确的方向。在VS 2012中,发布配置文件中有一个用于发布/调试的下拉菜单。 - Vinnyq12

3
请确保您的web.config文件和属性的Build选项中都没有开启Optimize Code选项,即Optimize code is OFF
在web.config文件中:
  <compilation debug="true" batch="true" optimizeCompilations="false" />

2

请确保您的web.config已设置为

<compilation debug="true">

0

如果您正在发布,请确保使用调试配置进行发布(这是我在VS-2015上的情况)在此输入图像描述


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接