release版本单步调试设置

场景

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

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

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

分析

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

修改:

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

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

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

时间: 2024-10-12 07:41:47

release版本单步调试设置的相关文章

Release版本如何单步调试

应用场景: 今天有个同事说,怎么MFC工程只能够在debug模式下单步调试,在release模式下,设置单步断点,有些可以调试,有些不可以调试,直接跳过,还有一个问题就是调试出来的结果有些都是乱码.在debug模式下,完全正常. 修改方案: 1)属性>>配置属性>>C/C++>>优化,优化选项:禁用(/Od) 优化之后的代码,有些断点调试的代码已经被编译器优化了,无法调试 2) 属性>>配置属性>>链接器>> 调试,生成调试信息:(是

vs2010下设置release版本调试设置

设置在Release模式下调试的方法: 1.工程项目上右键 -> 属性 2.c++ -> 常规 -〉调试信息格式    选  程序数据库(/Zi)或(/ZI), 注意:如果是库的话,只能(Zi) 3.c++ -> 优化 -〉优化            选  禁止(/Od) 4.连接器 -〉调试 -〉生成调试信息 选  是 (/DEBUG)

vs2010下release版本调试设置

设置在Release模式下调试的方法: 1.工程项目上右键 -> 属性 2.c++ -> 常规 -〉调试信息格式    选  程序数据库(/Zi)或(/ZI), 注意:如果是库的话,只能(Zi) 3.c++ -> 优化 -〉优化            选  禁止(/Od) 4.连接器 -〉调试 -〉生成调试信息 选  是 (/DEBUG) 转自他人,自己笔记使用.

使用ffmepg的lib库调试,debug版本下调试无问题,但release版本会出现跑飞的现象

如题(“使用ffmepg的lib库调试,debug版本下调试无问题,但release版本会出现跑飞的现象”). 今天使用ffmpeg进行宿放和颜色格式转换,很简单的代码,却折腾了我一天,这里说来就气啊,全是一顿的蛋疼,这里记下来,防止以后再蛋疼.呵呵 开始的时候,我以为是我的代码问题,然后我把我的代码很多地方都注释了,发现debug没问题,release还是不断跑飞,啥原因? 于是我从新建了一个测试工程,很简单,就调用一句话. 整个工程的代码如下: 1 // ffmpegtest.cpp : 定

android NDK开发在本地C/C++源代码中设置断点单步调试详细教程

最近在学android NDK开发,折腾了一天,终于能够成功在ADT中设置断点单步调试本地C/C++源代码了.网上关于这方面的资料太少了,而且大都不全,并且调试过程中会出现各种各样的问题,真是很磨人,程序猿就得有耐心.把自己的调试过程记录下来,希望对需要的朋友有帮助. 在看本文之前,请先确保你已经成功编译了一个android NDK工程,并且能够在模拟器或者真机上运行.至于怎么编译NDK工程,包括配置.生成.so文件等等,可以参考我的前一篇博客:http://blog.csdn.net/u013

更简单的调试Release版本Optimize code的.NET程序集

由于JIT的优化在调试Release版本程序集往往没有足够的跟踪信息,比如查看clrstack发现PARAMETERS:= <no data>状态. 在程序运行目录下创建一个[程序集名称].ini文件,比如:MyLibrary.dll => MyLibrary.ini. [.NET Framework Debugging Control] GenerateTrackingInfo=1 AllowOptimize=0 更简单的调试Release版本Optimize code的.NET程序集

Yosemite Intellij idea php设置xdebug单步调试

PHP设置单步调试 一直看看PHP语法,最近看貌似很火的laravel,还有一个基于laravel/framework的OctoberCRM,一直没找到方式做单步调试,今天总算达成了. IDE用的Intellij idea,Android Studio就是基于这个玩意搞的,也是由于Android Studio我才开始接触这个IDE,后来看PHP,就装了个插件,就叫PHP吧,然后编写PHP代码,提示做的挺好的,我一般用IDE都是看两个内容,一是提示,二是debug,debug今天搞好了,可以单步了

android NDK开发在本地C/C++源码中设置断点单步调试具体教程

近期在学android NDK开发,折腾了一天,最终可以成功在ADT中设置断点单步调试本地C/C++源码了.网上关于这方面的资料太少了,并且大都不全,并且调试过程中会出现各种各样的问题,真是非常磨人.程序员就得有耐心. 把自己的调试过程记录下来.希望对须要的朋友有帮助. 在看本文之前,请先确保你已经成功编译了一个android NDKproject,而且可以在模拟器或者真机上执行.至于怎么编译NDKproject,包含配置.生成.so文件等等.可以參考我的前一篇博客:http://blog.cs

C#.NET常见问题(FAQ)-程序如何单步调试和设置断点

对于控制台程序而言,直接按F10(不按F5运行)就可以单步运行,当前运行行会显示为黄色(不管是一条语句,还是一个函数,都会直接执行完毕得到结果) ? 你可以在变量名上右击添加监视(会自动放到监视1中),也可以直接在监视1中手动输入变量名,回车之后也可以得到当前的数据 ? 而相比之下,直接F11则更加详细(当执行到具体函数的时候也不会把一个函数看做一句话,而是跳转到函数的具体语句一行一行执行,{}也不放过,for循环本质有三句,赋值,判断,自加也不会当做一句话执行)你可以F10和F11交替使用(当