看板 EE_DSnP 關於我們 聯絡資訊
分享一下整理好的gdb指令: n next: 單步執行,但遇到副程式不會單步而是一口氣執行完 s step: 也是單步執行,但遇到副程式會進去一步步做 c continue: 繼續執行到break point為止 until: 直接跑完一個while迴圈 return: 終止該副程式(frame),並返回到副程式呼叫點 finish: 執行完這個副程式並回到呼叫點,在你的程式深入到c lib時很有用 進去副程式時在gdb的文件中會說這是進到下一層frame up 將焦點移到上一層frame(副程式呼叫處) down 回到下一層frame frame 顯示當前行數、frame資訊、進入副程式點等等 backtrace 顯示上層所有frame的資訊 注意這並不是控制程式執行的指令,只是幫助你了解是從哪裡呼叫frame而已 p 變數 : 就是print變數 watch 變數 : 監看某個變數,當它改變值時就break display 變數 : 下過display這個指令後,之後每次n or s 都會顯示出這個變數的值 變數指令必須在程式已經創造變數時才可以去讀 假如我還沒進過frame,我就不能監看這個frame裡面的區域變數 將break point設在區域變數都宣告好的地方 然後watch 變數,使用continue來和到底是在哪些地方改變變數的 或是用display,然後用step一步一步地看(免得跳過子迴圈) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.136.177.225
ric2k1:推, 順便改一下標題... :) 10/05 16:24