我正在使用Xcode的調試器。當停在斷點處時,是否有一個命令可以輸入GDB命令提示符來創建局部變量?如果是這樣,怎麼樣?請舉一個例子。GDB:創建局部變量?
我知道我可以在代碼中完成它,然後重新編譯程序,但我正在尋找更快的方法。
我正在使用Xcode的調試器。當停在斷點處時,是否有一個命令可以輸入GDB命令提示符來創建局部變量?如果是這樣,怎麼樣?請舉一個例子。GDB:創建局部變量?
我知道我可以在代碼中完成它,然後重新編譯程序,但我正在尋找更快的方法。
由於本地變量需要堆棧空間,並且(編譯的)代碼綁定到堆棧佈局,因此您不能。
將此與腳本語言進行比較並不合適。
由print
命令打印的值保存在GDB「值歷史記錄」中。這允許您在其他表達式中引用它們。
例如,假設您剛剛打印了一個指向結構的指針並希望查看結構的內容。它只需輸入
p *$
嗯,我很困惑。事後看來,他的問題不太清楚。他是指一個本地堆棧變量(我的假設)還是一個GDB便利變量(您的假設)。要添加評論的問題。 – 0xC0000022L
會是什麼意思? – Neil
混亂,就像您可以使用交互式Ruby Shell(IRB)一樣。 – ma11hew28
對不起,你的問題不太清楚。我只在看到尼爾的回覆後才注意到。從你提到的你意識到重新編譯你的代碼來引入一個「局部變量」的選擇我假設你的意思是一個堆棧變量。你或者Neil是否認爲你的意思是一個GDB便利變量? – 0xC0000022L