关于VS断点无效,无法正常调试的种种问题的尝试
使用VS2005、VS2008已有些年头,最近连续三次遇到在DEBUG模式下无法在某个指定位置设置断点、调试时直接跳过某行不执行,从此行开始执行的实际上是断点的下一行,种种问题让人挠头!无奈之下下定决心一定要解决此问题,于是有了下面的种种尝试。
尝试一:
1. Project->Property->ConfigurationProperties->C/C++->General->Debug Information Format:
Program Database for Edit & Continue (/ZI)
Project->Property->ConfigurationProperties->C/C++->General->Warning Level:
Level 4(/W4) //显示所有警告信息,以便发现更多问题。
2. Project->Property->ConfigurationProperties->C/C++->Optimization->Optimization:
Disabled (/Od) //禁用优化,代码全部生成汇编
3. Project->Property->ConfigurationProperties->Linker->Debugging->Generate Debug Info:
Yes (/DEBUG) //产生DEBUG信息,即PDB文件。
尝试二:
Tools->Options->Debugging->General:
去掉:Require source files to exactly
match the originalversion
尝试三:
格式问题
调整格式:Ctrl+A全选当前文件,然后
尝试四:
编译器保持状态的BUG
删除.aps/.opt/.ncb文件
尝试五:
Windows和unix回车换行符不一致,windows是\r\n,unix是\r
Files->Advanced Save Options:
尝试六:
打开汇编代码:当前文件右键->Go To Disassembly
程序汇编代码中,有一行没有汇编语句,且这一行正好是断点无法设置的行(由此怀疑是文件格式问题,导致汇编代码出了问题)
总结:
本次是通过尝试五解决的问题,之前使用尝试二也解决过无法调试的问题,估计断点无法调试的问题也就这么多了,以后遇到了再补充。