1. 程式人生 > >gdb除錯時區域性變數不可檢視問題

gdb除錯時區域性變數不可檢視問題

除錯程式時,在gdb內p var,會提示

No symbol "var" in current context.

即使沒有使用任何編譯優化選項,仍然不能檢視,放狗搜了一下,可能是這些變數被優化到暫存器中,gdb無法讀取。

解決方案:

在編譯是加入 ‘-gstabs+’  選項,比如:

g++ -g -Wall  -gstabs+ -o main.o main.cpp

gdb main,就可以檢視區域性變量了。