2011-11-25 147 views
1

我正在使用Xcode的調試器。當停在斷點處時,是否有一個命令可以輸入GDB命令提示符來創建局部變量?如果是這樣,怎麼樣?請舉一個例子。GDB:創建局部變量?

我知道我可以在代碼中完成它,然後重新編譯程序,但我正在尋找更快的方法。

+0

會是什麼意思? – Neil

+0

混亂,就像您可以使用交互式Ruby Shell(IRB)一樣。 – ma11hew28

+0

對不起,你的問題不太清楚。我只在看到尼爾的回覆後才注意到。從你提到的你意識到重新編譯你的代碼來引入一個「局部變量」的選擇我假設你的意思是一個堆棧變量。你或者Neil是否認爲你的意思是一個GDB便利變量? – 0xC0000022L

回答

1

由於本地變量需要堆棧空間,並且(編譯的)代碼綁定到堆棧佈局,因此您不能。

將此與腳本語言進行比較並不合適。

1

print命令打印的值保存在GDB「值歷史記錄」中。這允許您在其他表達式中引用它們。

例如,假設您剛剛打印了一個指向結構的指針並希望查看結構的內容。它只需輸入

p *$ 
+0

嗯,我很困惑。事後看來,他的問題不太清楚。他是指一個本地堆棧變量(我的假設)還是一個GDB便利變量(您的假設)。要添加評論的問題。 – 0xC0000022L