幾則gdb提示

來源:互聯網
上載者:User

gdb的功能強大,與帶GUI的調試器相比有過之而無不及,使用也就相對複雜一些。一方面是它的親和力稍差,畢竟是給程式員用的,不用做得傻瓜化。另外一方面它的命令太多,我們常常淺嘗輒止,只記得幾個常用的命令就知足了,沒有充分發揮它的潛力。今天要調試一段ARM彙編代碼,按常規方法調試彙編代碼非常麻煩,花了點時間看gdb的協助,發現幾個技巧比較有用,這裡做個筆記。

 

1.         使用自訂命令。gdb內建的命令很多,這些命令都遵循unix的一貫原則,每個命令都只有一個準系統。命令的粒度比較細,可重用性會更高。自己要去組織這些基本命令,以形成功能更強大的命令。這可以用define來實現,如:

(gdb) define nid           

Type commands for definition of "nid".

End with a line saying just "end".

>ni

>disassemble $pc $pc+16

>end

 

2.         多視窗。GUI調試器可以同時開啟多個小視窗,分別顯示寄存器、彙編和原始碼等。在gdb裡也可以做到,但同時最多隻能顯示兩個視窗,試了一下也很方便的。基本命令如下:

a)         `layout src' 僅顯示原始碼視窗。

b)        `layout asm' 僅顯示彙編代碼視窗。

c)        `layout split' 顯示原始碼和彙編代碼視窗。

d)        `layout regs' 顯示寄存器和原始碼視窗,或者寄存器和彙編代碼視窗。

e)         `layout next` 和 `layout prev' 切換視窗。

f)         ctrl + L 重新整理螢幕。

g)        `C-x 1' 單視窗模式。

h)        `C-x 2' 雙視窗模式。

i)          `C-x a' 回到傳統模式。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.