2012-01-23 118 views
0

所以我想跟着this tutorial來調試我的代碼。我告訴GDB運行一個可執行文件,它和程序崩潰,給這個:使用gdb來調試C++

Program received signal EXC_BAD_ACCESS, Could not access memory. 
Reason: 13 at address: 0x0000000000000000 
0x00007fff907b06e5 in std::string::_Rep::_M_dispose() 

但我看不到的方便at main.cc:28東西,教程會談任何。

所以我反正繼續,並嘗試backtrace,這給了我這樣的:

(gdb) backtrace 
#0 0x00007fff907b06e5 in std::string::_Rep::_M_dispose() 
#1 0x00007fff907b12ba in std::string::assign() 
#2 0x00000001000029e4 in Map::insert() 
#3 0x0000000100001ac5 in main() 

仍然沒有方便的行號?我該怎麼做?

(如果它的事項,我使用的是Mac OS 10.7和安裝的C++工具,Xcode中默認值)

+1

閱讀籌備該教程 –

+0

@JohanLundberg ......哎呀:) – wrongusername

回答

2

您需要打開您的構建額外的調試信息。在gcc中,你需要-g編譯器開關。

+0

明白了!非常感謝! – wrongusername