1. 程式人生 > >gdb 除錯中No symbol in current context 故障定位

gdb 除錯中No symbol in current context 故障定位

 在linux環境下的c++程式, 編譯選項用了-g   但是當除錯的時候卻出了問題,程式碼如下:

for(...)
{
     string variable2;
     ....

}

gdb   ->   file   filename->   p   variable2
結果出現No   symbol   "variable2 "   in   current   context的錯誤。
但是執行結果不受影響。

原因為:

g++編譯時區域性變數被優化到暫存器裡了,此時是無法在記憶體中檢視變數的值的。

嘗試過-O0,不起作用,目前還不知道怎麼解決。