断点未在VS2017中击中



我有一个解决方案,该解决方案是从VS(Visual Studio)2010到VS2017从一台计算机移植到另一台机器。我可以在不能进行调试。我需要知道有什么问题。运行时,我看到断点标记被更改为包括警告,但我找不到可能出了问题。似乎一切都还好。

1)尝试重建应用程序。确保它在" debug "模式中。

2)如果在VS2010中正常工作,但在VS2017中失败,我想知道Visual Studio是否会混淆正确的代码类型的配置,如果这样,您可能需要手动选择.NET版本。如果您在VS2010中使用Framework 3.5,但是在Visual Studio 2017中,您正在使用诸如Framework 4.6的框架,默认情况下会自动确定要调试的代码类型(v4.6,v4.5,v4.0)。在这种情况下,您需要单击"附加到Process"窗口上的"选择..."按钮,然后选择"托管"(v3.5,v3.0,v2.0)

3)尝试从"调试"菜单中清除/删除所有断点,选择删除所有断点。原因是它会刷新您的项目的Visual Studio设置文件。

4)势解决方案:取消选中"需要源文件以匹配原始版本..."选项,调试。

在我的情况下,从" repares "模式更改为" debug "模式工作!

启动过程时,如果断点图标带有警告符号空心,则调试器无法弄清程序的哪个部分与源代码的该行相对应。这通常是因为构建与可执行文件,dll或PDB文件过时。

进入这种情况的一种常见方法是不要注意到构建失败,然后让调试器尝试运行与当前源不符的旧可执行文件。如果Visual Studio对某些依赖关系感到困惑并且不重建所有需要重建的所有内容(在解决方案和/或项目文件的重大更改后,例如,例如在升级之后,可能会发生这种情况),也可能发生这种情况。。

在这些情况下,清理构建目录并迫使Visual Studio重建所有内容。这通常会使您同步。

当您在DLL代码中设置断点时,该断点将以空心警告状态出现,直到加载DLL为止。如果您的程序使用延迟加载或手动加载DLL(例如,通过LoadLibrary Call),您通常会看到此功能。加载DLL后,DLL中的任何断点图标均应返回到正常的红球状态。如果还没有,您认为DLL应该已加载。检查调试器中的输出窗口,以查看是否真的加载了它,以及是否有任何警告或错误从该dll加载相应的符号。

最新更新