有时我会收到断点不会被命中的消息,并且不会加载任何符号。
vs.net中的红色图标会改变颜色,调试模式不起作用。
这是什么原因?
答案 0 :(得分:7)
答案 1 :(得分:5)
答案 2 :(得分:3)
在“一次”下面的链接中执行每个项目符号,但是在您尝试的每个项目中重复我的步骤。
1。)在Visual Studio中停止调试(按红色方块图标)
2.)清洁溶液
3.)构建解决方案
4.) [INSERT BULLET INSTRUCTION]
5.)工具>附加到过程(或从调试开始)
6.)启动您要附加的程序,并运行它以使您的代码受到影响
如果附加到nunit.exe,则打开NUnit并运行测试以便命中断点
如果附加到w3wp.exe(IIS站点),则在浏览器中打开您的站点并转到将到达断点的页面
答案 3 :(得分:2)
在为此尝试了几个建议的修复后,我执行了以下操作以使其正常工作。
花了3个半小时......我现在要去喝酒了。
答案 4 :(得分:1)
如果符号fiels与程序集(远程调试)不同,或者没有“直接路径”,则会发生这种情况,因此程序集已加载,但可能使用反射和加载所需程序集加载运行时间。
答案 5 :(得分:1)
如果调试器由于某种原因未附加到进程,也会发生这种情况。如果是这种情况,您可以随时转到Debug - Attach to Process ...并选择正确的流程。一旦VS确定它可以击中它们,你的断点应该恢复正常。
答案 6 :(得分:1)
答案 7 :(得分:0)
当您将鼠标悬停在已禁用的断点上时,它会说什么?它通常会告诉你问题。我最喜欢的是旧的'源代码已过时',尤其是当我调试DLL时。另一个最喜欢的是当你正在查看的文件不是你正在调试的文件(另一个文件夹中的副本?)。如果你可以断开一个调用者例程而不是被调用者,则进入被调用者将强制VS打开“正确”的源文件,你将能够设置断点。令人困惑的是,我通常在VS发誓,这似乎有所帮助。
答案 8 :(得分:0)
我不喜欢玩刀具,但唯一有效的方法是编辑.csproj文件本身。因此,卸载项目文件,通过剪切和粘贴三个asp.net文件来编辑它,以便它们在ItemGroup中一起使用。但是,有时需要更进一步,如下所述:http://carnotaurus.tumblr.com/post/4130422114/visual-studio-debugging-issue-with-files-of-the-same - 此外,我列出了其他一些对我不起作用的建议解决方案。我希望它有所帮助。
答案 9 :(得分:0)
我遇到了同样的问题。我所知道的通常是构建版本不同,并且某些东西不匹配。我清理了我的项目,重建了它,然后进行了部署,让所有东西都恢复了同步。
答案 10 :(得分:0)
在“调试/发布”下拉列表旁边,还有另一个带有“任何CPU /配置管理器...”的选项。单击“配置管理器...”,您将看到某些项目可能处于发布模式。将它们全部更改为Debug。
答案 11 :(得分:0)
我已经对部署的应用程序和服务进行了测试,我发现如果部署的代码与 Visual Studio 中的代码不同,那么断点将不会命中。即使很小的更改也会影响并且断点不会命中。因此,最好调试与 vs 代码以及部署应用程序或服务中相同的版本。