无法断点调试:
error:如下图所示

我首先进行了如下操作:
1.生成-》清理解决方案-》重新生成解决方案

结果:未解决问题。
2.又进行如下图所示配置:


结果:未解决问题
3.工具->选项->调试->『要求源文件与原始版本完成匹配』去掉勾;

结果:解决问题 (治标不治本)
4.文件-》高级保存选项



结果:解决问题(根本上解决)
Windows和unix回车换行符不一致,windows是\r\n,unix是\r
问题思考:
为什么会造成这种情况呢?这时因为调试时使用的是PDB(Program Database)文件,而当我们在类库中修改代码后,由于没有重新编译,会使用上次的PDB文件,这样就造成了原来的PDB和新的代码文件不匹配,自然调试时也就无法正确进入断点。
有时断点会跳到其他的位置,是因为断点是定位在代码的行上的,而PDB文件中记录了代码的行数,但是PDB文件却没有更新,所以当我们强行将断点处的代码设置"允许源代码与原始版本不同"时,如果依旧使用上一次的PDB文件,自然断点的行数就定位到了上次记录的代码行数,所以断点就会往后跳了。
本文详细介绍了在遇到断点调试无法正常工作时的解决步骤,包括清理并重新生成解决方案、调整调试选项、设置源代码与PDB文件的匹配度,最终通过高级保存选项从根本上解决了问题。

1647

被折叠的 条评论
为什么被折叠?



