(转)2005无法调试问题

刚开始用Visual Studio 2005中的Visual C++ 2005编译调试C++程序时项目类型用的是Win32控制台应用程序,后来用空项目时出现无法调试的现象,如:
       在vs2005中,建立一个空项目,添加一个c++文件shuchu.cpp
#include <iostream>
using namespace std;
int main()
{
 cout <<"Happy Spring Festival!/n";
   return 0;
}
此时按f5启动调试,即会提示项目无法调试:无法找到“shuchu.exe”的调试信息,或者调试信息不匹配。未使用调试信息生成二进制文件。

       百度了一下,都说建立项目的时候不应建立空项目,而应当建立一个控制台应用程序。这样确实可以解决问题,但是为什么在空项目下无法调试呢,怎样来解决这个问题?并没有人写到。

       其实问题在于,在空项目中不生成调试文件pdb,所以无法调试。要让项目生成pdb文件,需要更改:
(1)项目属性→配置属性→链接器从→调试→生成调试信息→将“否”改为“是(/DEBUG)”。
       但这样还是不够的,还需要更改:
(2)项目属性→配置属性→C/C++→调试信息格式→将“禁用”改为“用于编辑并继续的程序数据库(/ZI)”。
(3)项目属性→配置属性→C/C++→优化→优化→将“最大化速度(/O2)”改为“禁用(/Od)”。
因为为了生成这个文件,需要设定debug信息的格式并关掉O2,还要更改linker生成调试信息的开关。

你可能感兴趣的:(spring,c,优化,数据库,百度,linker)