VS.NET的当前断点的原因不会被警告?

时间:2009-10-04 20:34:23

标签: c# asp.net visual-studio debugging vsto

尝试调试控制器操作方法,当我附加到进程时,调试图标变为空心并说“当前断点不会被命中”

但我当时正在做response.write,当页面呈现时,它会输出测试文本。

因此该部分确实正在执行,为什么调试模式不起作用?

6 个答案:

答案 0 :(得分:6)

您的源代码可能与您要附加的相应进程的版本不同。您的其他进程也可以在发布模式下构建,即没有调试信息。

答案 1 :(得分:4)

您可能会看到以下消息:

  • 您附加了错误的流程
  • 您已连接到正确的进程,但AppDomain尚未加载程序集
  • 您已加入正确的流程,但您忘记了构建,因此源代码和PDB文件不同步

答案 2 :(得分:1)

我注意到在使用反射和动态加载.dll项目时会发生这种情况。如果代码不是特别引用(即你使用的是界面动物,但动态加载动物的实现,如cat / dog),它会说它不会到达断点,但实际上是。

答案 3 :(得分:0)

我不喜欢玩刀,但唯一对我有用的是编辑.csproj文件本身。因此,卸载项目文件,通过剪切和粘贴三个asp.net文件来编辑它,以便它们在ItemGroup中一起使用。但是,有时需要更进一步,如下所述:http://carnotaurus.tumblr.com/post/4130422114/visual-studio-debugging-issue-with-files-of-the-same - 此外,我列出了其他一些对我不起作用的建议解决方案。我希望它有所帮助。

答案 4 :(得分:0)

另一个原因是当您快速附加到流程时。

例如,当我附加到Excel以调试VSTO加载项(我正在使用加载项Express)时,如果我构建,则开始>运行> Excel,然后快速按 Ctrl + Alt + P 以附加到进程,然后按 E 以突出显示Excel和按 Enter 我在Excel加载之前看到了这个: enter image description here 结果是没有会触及断点

但是,如果我给Excel加载几秒钟,然后按 Ctrl + Alt + P ,请注意标题显示: enter image description here

结果是击中了 的断点。

答案 5 :(得分:0)

它还告诉我你的源代码与版本不同,但事实并非如此。我构建了整个解决方案,然后附加到进程,但它仍然表示断点不会被命中,因为源代码是不同的。也许这是一个错误?