场景
debug模式下自动选择已禁用 (/Od);release模式下自动选择 使速度最大化 (/O2) 。
这种速度最大化,会导致Release版本调试出现有些代码被精简掉,有些代码变量在前后之间
不一致的问题,例如传递指针,指针的地址可能会发生改变。而且在调用第三方库的时候,是没有办法获取到debug版本下的动态或者静态库,因此只能够选择release版本,本章的主要内容是如何设置在release版本下进行调试
分析
Release模式下的设置主要是应用于软件的发布,是不携带任何的调试信息,并且程序进行了优化,有的语句已经被优化掉,所以无法进行调试。所以只要关闭优化以及允许生成调试信息即可
修改:
1)属性》》配置属性》》C/C++>>优化,优化选项:禁用(/Od)
优化之后的代码,有些断点调试的代码已经被编译器优化了,无法调试
2) 属性》》配置属性》》链接器》》 调试,生成调试信息:(是/DEBUG),生成程序数据库文件:$(TargetDir)$(TargetName).pdb
转载于:https://blog.51cto.com/fengyuzaitu/1947068