VC++2005、VC2008中Release版本设置为可调试的设置方法
一、很多时候需要在Release版本下调试程序,可以使用以下方法设置:
1、无效断点所在的项目和启动项目的设置:项目->属性->配置属性->C/C++->常规->调试信息格式,这里不能为『禁用』;
2、项目->属性->配置属性->链接器->调试->生成调试信息,这里设为『是』;
3、C/C++->优化->优化选择『禁用』;
4、删除解决方案下的.ncb文件;
5、工具->选项->调试->『要求源文件与原始版本完成匹配』去掉勾;
6、最后在上述设置的情况下,重新编译整个解决方案;
二、经过试验,在VC2008下,新建一个项目的默认设置情况下,只需修改下面设置就可以调试release版本
1、在release模式下,修改 “项目->属性->配置属性->C/C++->优化->优化” 为 “禁用”,即可以调试。
http://www.cnblogs.com/lidabo/archive/2012/12/29/2839349.html
http://blog.csdn.net/bible521125/article/details/49153193
--------------------------------------------------------------------
一直用.net,最近工作需要使用别的公司提供的接口,但是这些接口暴漏出来的参数居然是他们自己的类型,无奈,只好写一个用vc++写一个com,重新包装一下,供c# 来调用
写com的时候,发现没有办法进行调试,断点设置无效
网上搜索了n多种方法,大概有以下几种:
1、无效断点所在的项目和启动项目的设置:项目->属性->配置属性->C/C++->常规->调试信息格式,这里不能为『禁用』;
2、项目->属性->配置属性->链接器->调试->生成调试信息,这里设为『是』;
3、C/C++->优化->优化选择『禁用』;
4、删除解决方案下的.ncb文件;
5、工具->选项->调试->『要求源文件与原始版本完成匹配』去掉勾;
6、最后在上述设置的情况下,重新编译整个解决方案;
7、回过头来,发现原来是一段不会被执行到的代码……
8. 是解决方案-〉属性-〉调试源文件中手动增加源文件路径。
9. 在注册表 HKEY_LOCAL_MACHINE->SOFTWARE->Microsoft->VisualStudio->7.0下手 动添加字符项 Source Directories,并将值设为:
D:/Program Files/Microsoft Visual Studio .NET/Vc7/crt/;D:/Program Files/Microsoft Visual Studio .NET/Vc7/atlmfc/src/mfc/; D:/Program Files/Microsoft Visual Studio .NET/Vc7/atlmfc/src/atl/;
还有其他的都没有记录了,反正是网上能试的全部都试了,回过头来自己摸索,终于搞定了
在项目--->属性--->配置属性--->调试---->调试器类型 ,改为混合即可。。。
费了九牛二虎之力啊,对各位有帮助的话,就顶顶吧。哈哈
http://blog.csdn.net/yslfstar/article/details/4766151
VC++2005、VC2008中Release版本设置为可调试的设置方法的更多相关文章
- MFC中release版本和debug版本区别
最近MFC写了个程序,生成release版,原来正常,后来删掉了些控件再编译运行,结果竟然报内存读写错误,debug却是正常的.后来将“Project Settings” 中 “C++/C ...
- VC++的debug与release版本
因为在Debug中有ASSERT断言保护,所以要崩溃,而在Release优化中就会删掉ASSERT,所以会出现正常运行. void func() { char b[2]={0}; strc ...
- linux系统centOS7下搭建redis集群中ruby版本过低问题的解决方法
问题描述: 在Centos7中,通过yum安装ruby的版本是2.0.0,但是如果有些应用需要高版本的ruby环境,比如2.2,2.3,2.4... 那就有点麻烦了,譬如:我准备使用redis官方给的 ...
- VC中release和debug版本的区别
DEBUG版本 包含调试信息,编译器生成的代码方便调试 RELEASE版本 算是发布版本,RELEASE下不能调试,生成的文件更小,编译器生成的程序速度更快但是Debug下生成的exe文件在单独运行时 ...
- VC 2005 解决方案的目录结构设置和管理
VC 2005 解决方案的目录结构设置和管理 Roger (roger2yi@gmail.com) 一个中等规模的解决方案通常都会包含多个项目,其中一些项目产出静态库,一些产出动态库,一些用于 ...
- 如何使用VC++6.0发布程序(即release版本程序)
大家都知道VC编译器默认生成debug版本的程序,但是debug版本程序无法运行在没有安装VC的电脑上, 这就要就我们生成release版本的程序,因为release版本在未安装VC的电脑上也能运行( ...
- 如何定位Release 版本中程序崩溃的位置 ---利用map文件 拦截windows崩溃函数
1 案例描述 作为Windows程序员,平时最担心见到的事情可能就是程序发生了崩溃(异常),这时Windows会提示该程序执行了非法操作,即将关闭.请与您的供应商联系.呵呵,这句微软的“名 ...
- [原]设置vs的release版本调试
通过三步设置就可以实现realse下的调试啦: 1.设置“C/C++”------>“常规”------->“调试信息格式”设置成:“程序数据库(/Zi)” 2.设置“链接器”------ ...
- 解决VS+opencv中Debug版本与Release版本lib切换的问题
Author: Maddock Date: 2015-03-26 09:34:48 问题来源:http://bbs.csdn.net/topics/390733725 PS: 按照上述方法做的时候,在 ...
随机推荐
- System.IO
I/O 1.文件操作:File (1)void AppendAllText(string path, string contents) (2)bool Exist ...
- Tomcat 内存设置
大型项目或者使用了SSH 的话, Tomcat 可能会报 java.lang.OutOfmemoryError: PermGen Space Windows: 在 bin/catlina.bat 最上 ...
- Week11(11月19日):补课
Part I:提问 =========================== 1.如何增加一条记录到数据库? Part II:案例学习 =========================== Music ...
- Qt学习:线程间共享数据(使用信号槽传递数据,必须提前使用qRegisterMetaType来注册参数的类型)
Qt线程间共享数据主要有两种方式: 使用共享内存.即使用一个两个线程都能够共享的变量(如全局变量),这样两个线程都能够访问和修改该变量,从而达到共享数据的目的: 使用singal/slot机制,把数据 ...
- NOI2015 寿司晚宴
今年NOI确实是在下输了.最近想把当时不会做的题都写一下. 题意 从2到n(500)这些数字中,选若干分给A,若干分给B,满足不存在:A的某个数和B的某个数的GCD不等于1. 对于寿司晚宴这题,标准解 ...
- 项目中用到的Java注解
元注解: @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.METHOD}) 作用:@interface用来声明一个注解,其中的每 ...
- Citrix 服务器虚拟化之二 Xenserver加域管理
Citrix 服务器虚拟化之二 Xenserver加域管理 如果要使用多个用户和用户组来管理XenServer服务器,就必须使用 Active Directory 用户账户进行身份验证.XenSe ...
- eclipse处理长字符串拼接快捷方法类
情景: 你在后台写sql文访问数据库时是不是要这样写 String sql="select a," +"b," +"c " +"f ...
- 在Vista以上版本运行WTL程序,有时候会提示“这个程序可能安装补正确...”的错误
在Win7/Vista下,如何以兼容模式运行exe? https://msdn.microsoft.com/en-us/library/dd371711(VS.85).aspx 问题描 ...
- 【转】linux命令useradd添加用户详解
在linux中增加用户我们使用useradd命令而删除用户直接使用userdel即可了,下面小编来给各位同学介绍一下在linux中添加与删除用户方法吧. 1.作用 useradd或adduser命 ...