我正在使用DOSBox-X项目代码库。
大多数时间断点都可以工作,但是即使构建成功,有时我也会得到The breakpoint will not currently be hit
。当对代码进行少量更改(少量字符)或在合并后仅切换回主分支(完全没有更改)时,最有可能发生这种情况。
当然,如果我重建整个项目或执行Build full program database for solution
,它总是可以工作,但前者要花很多时间,后者要少一些,但仍然很长。
TL; DR;它是随机发生的
一些专家能否阐明可能是什么原因造成的?
答案 0 :(得分:2)
您的构建是否成功与断点是否正常无关,除了如果您没有成功创建的可执行文件之外,就没有什么要调试的了。
更改源代码时,它不再与用于创建可执行文件的代码“同步”。这并不意味着该可执行文件不再是可调试的(毕竟它仍然具有符号之类的符号),但是Visual Studio是图形化IDE,其调试器已集成到源代码编辑器中。
如果它不再具有该源代码,则该集成将无法正常工作,并且其中包括您在 X 行上设置的断点。现在什么是 X 行?因此,它们会禁用它们,以免造成混淆。
只需确保根据源代码当前的状态调试程序即可。
(注意:有时确实会卡住。即使没有更改任何代码,我有时也必须执行“全部清除”操作才能使断点重新开始工作。但是,这种情况很少见发生。)
答案 1 :(得分:0)
我通过将大多数项目属性重置为默认值解决了问题,现在调试可以按预期进行。