在Visual Studio 2012中代码未触发断点

6

我正在使用VS 2012构建一个mvc c#网络应用程序,在控制器上设置了断点,但该断点从未被触发,我可以得到结果,所以我知道代码正在运行。奇怪的是,它甚至不会出现错误“没有加载符号”,并使断点变空心。断点保持实心。有什么想法发生了什么?


你正在运行程序的哪种模式,发布版还是调试版? - Nick
1
我们可能需要查看代码.... - Michael Graczyk
浏览器的调试控制台网络选项卡是否显示了请求已经发送? - Jasen
另外一个尝试的方法是在你的控制器动作上设置 [OutputCache(Duration = 0)],因为例如Internet Explorer并不总是由于默认浏览器缓存而提供后续请求。 - Pricey
@Pricey 尝试了,仍然没有触发断点。 - PUG
你是使用VS集成的Web服务器运行应用程序,还是在本地IIS上并附加到w3p进程? - Gorgsenegger
1个回答

8
要逐步调试,您需要做两件事情。首先,您必须设置断点,然后将调试器附加到运行代码的进程上。在这种情况下,运行您的代码的进程将是w3wp.exe。如果按下CTRL + ALT + P,您将进入附加到进程窗口。您将看不到w3wp,但请勾选窗口底部的两个框以显示所有会话和所有用户的所有进程,然后您就可以将其附加到它上面。请注意,如果它仍然没有出现,则是因为尚未启动w3wp,因此您需要请求您的Web应用程序来拉起它。附加后,如果代码匹配,则应该会触发断点。

1
我不是OutputCacheAttribute - PUG
你是使用调试器附加到w3wp进程,还是只是设置断点但没有附加? - Haney
1
射击,它命中了,哇,但是为什么你认为当我刚从VS2012调试代码时它没有命中呢? - PUG
1
是的,因为“localhost”不是IIS,而是Visual Studio开发/调试Web服务器。你是通过F5或运行命令来运行应用程序的吗,@Mike? - Haney
3
在我的项目设置中 -> Web -> 服务器,原因是它被设置为“使用Visual Studio开发服务器”,当我将其设置为“使用本地IIS Web服务器”并将项目URL设置为https://localhost/时,它开始工作了。 - PUG
显示剩余9条评论

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