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