release版本单步调试设置

简介:

场景

    debug模式下自动选择已禁用 (/Od);release模式下自动选择 使速度最大化 (/O2) 。

这种速度最大化,会导致Release版本调试出现有些代码被精简掉,有些代码变量在前后之间

不一致的问题,例如传递指针,指针的地址可能会发生改变。而且在调用第三方库的时候,是没有办法获取到debug版本下的动态或者静态库,因此只能够选择release版本,本章的主要内容是如何设置在release版本下进行调试


分析

    Release模式下的设置主要是应用于软件的发布,是不携带任何的调试信息,并且程序进行了优化,有的语句已经被优化掉,所以无法进行调试。所以只要关闭优化以及允许生成调试信息即可


修改:

1)属性》》配置属性》》C/C++>>优化,优化选项:禁用(/Od)

优化之后的代码,有些断点调试的代码已经被编译器优化了,无法调试

2) 属性》》配置属性》》链接器》》 调试,生成调试信息:(是/DEBUG),生成程序数据库文件:$(TargetDir)$(TargetName).pdb



    本文转自fengyuzaitu 51CTO博客,原文链接:http://blog.51cto.com/fengyuzaitu/1947068,如需转载请自行联系原作者




相关文章
|
1月前
|
编译器
你正在调试XXX的发布版本,如果在启用 仅我的代码 的同时,使用通过编译器优化的发布版本
你正在调试XXX的发布版本,如果在启用 仅我的代码 的同时,使用通过编译器优化的发布版本
27 0
|
4月前
|
NoSQL 算法 Shell
【C/C++ 调试 GDB指南 】详解 gdb 断点的设置方式
【C/C++ 调试 GDB指南 】详解 gdb 断点的设置方式
101 2
|
12月前
|
C++
调试实战 —— dll 加载失败之 Debug Release 争锋篇
调试实战 —— dll 加载失败之 Debug Release 争锋篇
|
区块链 C语言 虚拟化
QT程序打包发布Release时的注意事项
QT程序打包发布Release时的注意事项
IDEA调试技巧:修改变量的运行值
IDEA调试技巧:修改变量的运行值
1556 0
IDEA调试技巧:修改变量的运行值
|
C++
VS的一个项目,release/debug/x64/win32的设置有没有办法一次设置?
VS的一个项目,release/debug/x64/win32的设置有没有办法一次设置?
209 0
|
编译器 C语言
Qt如何在Release编译下怎么调试?怎么生成pdb文件?
Qt如何在Release编译下怎么调试?怎么生成pdb文件?
775 0
|
Linux C#
centos7 lldb 调试netcore应用的内存泄漏和死循环示例(dump文件调试)
写个demo来玩一玩linux平台下使用lldb加载sos来调试netcore应用。 当然,在真实的产线环境中需要分析的数据和难度远远高于demo所示,所以demo的作用也仅仅只能起到介绍工具的作用。
1597 0