release版本单步调试设置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了release版本单步调试设置相关的知识,希望对你有一定的参考价值。
场景
debug模式下自动选择已禁用 (/Od);release模式下自动选择 使速度最大化 (/O2) 。
这种速度最大化,会导致Release版本调试出现有些代码被精简掉,有些代码变量在前后之间
不一致的问题,例如传递指针,指针的地址可能会发生改变。而且在调用第三方库的时候,是没有办法获取到debug版本下的动态或者静态库,因此只能够选择release版本,本章的主要内容是如何设置在release版本下进行调试
分析
Release模式下的设置主要是应用于软件的发布,是不携带任何的调试信息,并且程序进行了优化,有的语句已经被优化掉,所以无法进行调试。所以只要关闭优化以及允许生成调试信息即可
修改:
1)属性》》配置属性》》C/C++>>优化,优化选项:禁用(/Od)
优化之后的代码,有些断点调试的代码已经被编译器优化了,无法调试
2) 属性》》配置属性》》链接器》》 调试,生成调试信息:(是/DEBUG),生成程序数据库文件:$(TargetDir)$(TargetName).pdb
以上是关于release版本单步调试设置的主要内容,如果未能解决你的问题,请参考以下文章
Fortran 编译过程中,debug和release最大的区别是啥?
Visual C++ 2008 'Release' 版本包含调试信息