今天调试一个github的程序,设置为启动项后debug模式下无法调试,处理器X64没问题,调试设置中的“要求源文件和原始版本完全匹配”的勾也去掉,但还是无法调试代码。
经过研究发现,项目属性——生成——优化代码,被勾上了。
网上面解释的优化代码:编译器在保证结果一致的情况下,可以对代码进行优化,一般是对代码进行删减,这样代码的运行效率会更高。缺点是优化过后的代码,已经和你编写的源代码不同,断点和异常信息,都不能准确指向具体哪一行,所以会影响调试。
这大概就是编译器的优化代码通常是一个可选项的原因。优化后可以理解是release模式了,没办法调试了。
将优化代码勾去掉,程序便可以调试了。