使用VS遇到的各种问题——无法断点调试

时间:2024-05-30 21:13:20

无法断点调试:

error:如下图所示

使用VS2013遇到的各种问题——无法断点调试

我首先进行了如下操作:

1.生成-》清理解决方案-》重新生成解决方案

使用VS2013遇到的各种问题——无法断点调试

结果:未解决问题。

2.又进行如下图所示配置:

使用VS2013遇到的各种问题——无法断点调试

使用VS2013遇到的各种问题——无法断点调试

结果:未解决问题

3.工具->选项->调试->『要求源文件与原始版本完成匹配』去掉勾;

使用VS2013遇到的各种问题——无法断点调试

结果:解决问题  (治标不治本)

4.文件-》高级保存选项

使用VS2013遇到的各种问题——无法断点调试

使用VS2013遇到的各种问题——无法断点调试

使用VS2013遇到的各种问题——无法断点调试

结果:解决问题(根本上解决)

Windows和unix回车换行符不一致,windows是\r\n,unix是\r

问题思考:

为什么会造成这种情况呢?这时因为调试时使用的是PDB(Program Database)文件,而当我们在类库中修改代码后,由于没有重新编译,会使用上次的PDB文件,这样就造成了原来的PDB和新的代码文件不匹配,自然调试时也就无法正确进入断点。

有时断点会跳到其他的位置,是因为断点是定位在代码的行上的,而PDB文件中记录了代码的行数,但是PDB文件却没有更新,所以当我们强行将断点处的代码设置"允许源代码与原始版本不同"时,如果依旧使用上一次的PDB文件,自然断点的行数就定位到了上次记录的代码行数,所以断点就会往后跳了。