(轉載) 前一段時間用VC2005就發現有個程序突然不能調試了,驚訝至極。然後也不知道什麼原因就又能調試了。更加驚訝。這一靈異現象是我對vc2005的印象大打折扣。
今天VC2005無法調試的現象再次神奇出現。我重建工程了幾次,也沒見效,要不是光驅不好使,我都要重裝系統了。就在我快要崩潰的時候,在網上找到了一篇文章,按照文中給出的方案,問題終於解決。
但爲什麼會發生突然不能調試這樣的問題,還是不清楚。希望明白人指點一下。
/*****************************************************************
網上找到的原文如下:
*****************************************************************/
現象:在vs2005中,建立一個空項目,添加一個c++文件main.cc
#include<iostream>
using namespace std;
int main()
{
cout << "hello";
}
此時按f5啓動調試,即會提示項目無法調試:
無法找到“xxx.exe”的調試信息,或者調試信息不匹配。未使用調試信息生成二進制文件。
搜了一些資料,都說建立項目的時候不應建立空項目,而應當建立一個console application。這樣確實可以解決問題,但,爲什麼在空項目下無法調試呢,怎樣來解決這個問題?並沒有人寫到。
其實問題在於,在空項目中不生成調試文件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生成調試信息的開關
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/treeinsea/archive/2007/08/29/1764235.aspx