KGDB配置手冊

  最近試了一下KGDB,爲了方便之後再用,這裏把使用過程記錄一下。

Host機:一個裝有Ubuntu12.04-x86-64的主機 linux

Target機:運行在vmware上的 Ubuntu12.04-server-x86-64 的Linux. ui

Target機器配置 spa

0.配置好VMware對外串口, 詳情見:http://my.oschina.net/u/139611/blog/110052 .net

1. 下載源碼到/usr/src/linux-source-3.2.0下, 解壓. debug

2. make menuconfig 調試

3. 進入General setup,把Local version設置一下(-kgdb) server

4. 進入Kernel hacking,選"Compile the kernel with debug info"爲* blog

5. 選"KGDB: kernel debugging with remote gdb"爲* rem

6. 選"Write protect kernel read-only data structures"爲空 (不然在斷下來繼續執行的時候可能會報錯:Cannot remove breakpoints because program is no longer writable) get

7. 進入"KGDB: ... " 選"KGDB: use KGDB over the serial console"爲*,選"KGDB: internal test suite「爲空,不然kgdboc會註冊不了

7. 保存,編譯: make -j4 && make modules install && make install

8. 把vmliunux和System.map拷貝到host機器上

9. 修改/boot/grub/grub.cfg中menuentry爲kgdb的項,在kernel後面添加參數: kgdboc=ttyS1,115200 kgdbwait

10. 重啓,系統進入等待狀態。

Host機:

1. 安裝好GDB,配好串口等。

2.運行 socat TCP-LISTEN:5555,fork /tmp/ttyS1 & , 連接到vmware對外的串口文件

2. gdb vmlinux

3. 在GDB中:

(gdb) target remote 0:5555

 就能夠進入調試狀態了

4: (gdb) c ,則target進入Linux系統

參考: http://blog.csdn.net/zhy1030/article/details/5096949

相關文章
相關標籤/搜索