VS2008中编译通过,但调试时出现“未使用调试信息生成二进制文件”的问题

简介:

。只要是“建立项目的时候不应建立空项目,而应当建立一个“win32控制台应用程序”。这样确实可以解决问题。只要你选择的是这个"win32控制台应用程序"则在附加选项里面选不选上“空项目”都可以。

其实问题在于,在空项目中不生成调试文件pdb,所以无法调试。

要让项目生成pdb文件,需要更改:

项目属性,configuration properties->linker->Generate Debug Info 从 no 改为 yes

但这样还是不够的,还需要更改:

项目属性,configuration properties->c/c++->debug information format为/ZI

项目属性,configuration properties->c/c++->optimization为Disabled

因为为了生成这个文件,需要设定debug信息的格式并关掉O2,还要更改linker生成调试信息的开关

 

 

Debug模式,运行时完全正常,但是一调试就出现对话框,显示出错信息: 
“无法找到“XXX.exe”的调试信息,或者调试信息不匹配。未使用调试信息生成二进制文件。” 
VC项目是空项目。发现其他的项目都可以调试,就“空项目”不行。

解决方法:

首先打开菜单 项目->项目属性页 
1。选择 配置属性->链接器->调试->生成调试信息 改为 是 
2。选择 配置属性->C/C++ ->常规->调试信息格式 改为 用于“编辑并继续”的程序数据库(/ZI) 
3。选择 配置属性->C/C++ ->优化->优化 改为 禁用(/Od) 

 


这个问题如果不解决,会出现一些小的问题影响程序的正确运行。


本文转自莫水千流博客园博客,原文链接:http://www.cnblogs.com/zhoug2020/p/5789622.html,如需转载请自行联系原作者
相关文章
源文件与模块生成时的文件不同,是否希望调试器使用它?如何解决
源文件与模块生成时的文件不同,是否希望调试器使用它?如何解决
|
4月前
|
NoSQL
技术分享:如何使用GDB调试不带调试信息的可执行程序
【8月更文挑战第27天】在软件开发和调试过程中,我们有时会遇到需要调试没有调试信息的可执行程序的情况。这可能是由于程序在编译时没有加入调试信息,或者调试信息被剥离了。然而,即使面对这样的挑战,GDB(GNU Debugger)仍然提供了一些方法和技术来帮助我们进行调试。以下将详细介绍如何使用GDB调试不带调试信息的可执行程序。
121 0
|
存储 安全 API
调试实战 | 通过转储文件分析程序无响应之使用 windbg + IDA 逆向篇
调试实战 | 通过转储文件分析程序无响应之使用 windbg + IDA 逆向篇
|
编译器 C语言
C程序调试过程常见的错误
在C语言编程,一般需要借助C相关的编译软件,例如,在Keil uVision5编程环境下,如果提示工具连接错误,则表示MDK安装程序有问题,重新卸载,并全部删除后重新再进行安装后即可。
编译好的编译ffmpeg又出错:更改输出目录产生各种古怪错误
编译好的编译ffmpeg又出错:更改输出目录产生各种古怪错误
102 0
|
Java
如何保存编译程序
如何保存编译程序
156 0
|
Unix C++
源码文件编码问题,导致编译的程序运行错误
源码文件编码问题,导致编译的程序运行错误
123 0
VS无法断点调试,编译时为生成pdb文件,不包含调试信息(未加载任何符号)
VS无法断点调试,编译时为生成pdb文件,不包含调试信息(未加载任何符号)
509 0