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版本单步调试设置的主要内容,如果未能解决你的问题,请参考以下文章

debug和release版本的区别

Fortran 编译过程中,debug和release最大的区别是啥?

Visual C++ 2008 'Release' 版本包含调试信息

VS2008 如何将Release版本设置可以调试的DEBUG版本

OpenCV与Debug和Release模式

vs中debug和release版本的区别