一、很多时候需要在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版本设置为可调试的设置方法的更多相关文章

  1. MFC中release版本和debug版本区别

    最近MFC写了个程序,生成release版,原来正常,后来删掉了些控件再编译运行,结果竟然报内存读写错误,debug却是正常的.后来将“Project   Settings”   中   “C++/C ...

  2. VC++的debug与release版本

    因为在Debug中有ASSERT断言保护,所以要崩溃,而在Release优化中就会删掉ASSERT,所以会出现正常运行. void func() {    char b[2]={0};    strc ...

  3. linux系统centOS7下搭建redis集群中ruby版本过低问题的解决方法

    问题描述: 在Centos7中,通过yum安装ruby的版本是2.0.0,但是如果有些应用需要高版本的ruby环境,比如2.2,2.3,2.4... 那就有点麻烦了,譬如:我准备使用redis官方给的 ...

  4. VC中release和debug版本的区别

    DEBUG版本 包含调试信息,编译器生成的代码方便调试 RELEASE版本 算是发布版本,RELEASE下不能调试,生成的文件更小,编译器生成的程序速度更快但是Debug下生成的exe文件在单独运行时 ...

  5. VC 2005 解决方案的目录结构设置和管理

    VC 2005 解决方案的目录结构设置和管理   Roger (roger2yi@gmail.com)   一个中等规模的解决方案通常都会包含多个项目,其中一些项目产出静态库,一些产出动态库,一些用于 ...

  6. 如何使用VC++6.0发布程序(即release版本程序)

    大家都知道VC编译器默认生成debug版本的程序,但是debug版本程序无法运行在没有安装VC的电脑上, 这就要就我们生成release版本的程序,因为release版本在未安装VC的电脑上也能运行( ...

  7. 如何定位Release 版本中程序崩溃的位置 ---利用map文件 拦截windows崩溃函数

    1       案例描述 作为Windows程序员,平时最担心见到的事情可能就是程序发生了崩溃(异常),这时Windows会提示该程序执行了非法操作,即将关闭.请与您的供应商联系.呵呵,这句微软的“名 ...

  8. [原]设置vs的release版本调试

    通过三步设置就可以实现realse下的调试啦: 1.设置“C/C++”------>“常规”------->“调试信息格式”设置成:“程序数据库(/Zi)” 2.设置“链接器”------ ...

  9. 解决VS+opencv中Debug版本与Release版本lib切换的问题

    Author: Maddock Date: 2015-03-26 09:34:48 问题来源:http://bbs.csdn.net/topics/390733725 PS: 按照上述方法做的时候,在 ...

随机推荐

  1. System.IO

                 I/O       1.文件操作:File (1)void AppendAllText(string path, string contents) (2)bool Exist ...

  2. Tomcat 内存设置

    大型项目或者使用了SSH 的话, Tomcat 可能会报 java.lang.OutOfmemoryError: PermGen Space Windows: 在 bin/catlina.bat 最上 ...

  3. Week11(11月19日):补课

    Part I:提问 =========================== 1.如何增加一条记录到数据库? Part II:案例学习 =========================== Music ...

  4. Qt学习:线程间共享数据(使用信号槽传递数据,必须提前使用qRegisterMetaType来注册参数的类型)

    Qt线程间共享数据主要有两种方式: 使用共享内存.即使用一个两个线程都能够共享的变量(如全局变量),这样两个线程都能够访问和修改该变量,从而达到共享数据的目的: 使用singal/slot机制,把数据 ...

  5. NOI2015 寿司晚宴

    今年NOI确实是在下输了.最近想把当时不会做的题都写一下. 题意 从2到n(500)这些数字中,选若干分给A,若干分给B,满足不存在:A的某个数和B的某个数的GCD不等于1. 对于寿司晚宴这题,标准解 ...

  6. 项目中用到的Java注解

    元注解: @Retention(RetentionPolicy.RUNTIME)   @Target({ElementType.METHOD})  作用:@interface用来声明一个注解,其中的每 ...

  7. Citrix 服务器虚拟化之二 Xenserver加域管理

    Citrix 服务器虚拟化之二   Xenserver加域管理 如果要使用多个用户和用户组来管理XenServer服务器,就必须使用 Active Directory 用户账户进行身份验证.XenSe ...

  8. eclipse处理长字符串拼接快捷方法类

    情景: 你在后台写sql文访问数据库时是不是要这样写 String sql="select a," +"b," +"c " +"f ...

  9. 在Vista以上版本运行WTL程序,有时候会提示“这个程序可能安装补正确...”的错误

    在Win7/Vista下,如何以兼容模式运行exe?     https://msdn.microsoft.com/en-us/library/dd371711(VS.85).aspx     问题描 ...

  10. 【转】linux命令useradd添加用户详解

    在linux中增加用户我们使用useradd命令而删除用户直接使用userdel即可了,下面小编来给各位同学介绍一下在linux中添加与删除用户方法吧.   1.作用 useradd或adduser命 ...