Kgdb

kgdb 啟動失敗

  • February 11, 2016

我一直在努力讓 kgdb 在我的系統中工作,但與此同時它卻沒有。我正在使用基於 2.6.37 git 的 TI SDK。嘗試使用串列時,我總是遇到以下異常:

我在 2 種模式下嘗試了 kgdb,但都失敗了:

1)從啟動: 我在bootargs中添加了:

"kgdboc=ttyO0,115200 kgdbwait".

------------[ cut here ]------------
WARNING: at drivers/serial/serial_core.c:399 uart_get_baud_rate+0x124/0x138()
Modules linked in:
Backtrace:
[<c004ffc4>] (dump_backtrace+0x0/0x110) from [<c03ee140>] (dump_stack+0x18/0x1c)
r6:c04f4d9f r5:0000018f r4:00000000 r3:60000013

2)從控制台:

root@dm814x:~# echo ttyS0 > /sys/module/kgdboc/parameters/kgdboc
kgdb: Registered I/O driver kgdboc.


root@dm814x:~# echo g > /proc/sysrq-trigger
SysRq : DEBUG
Entering KGDB
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c4368000
[00000000] *pgd=84042031, *pte=00000000, *ppte=00000000
Internal error: Oops: 80000007 [#1]
last sysfs file: /sys/module/kgdboc/parameters/kgdboc
KGDB: re-enter exception: ALL breakpoints killed
Backtrace:

核心配置使用:

CONFIG_KGDB

CONFIG_KGDB_SERIAL

有沒有猜測是什麼問題?也許我需要用 kgdb 適當的更新檔來修補核心?

嘗試使用 ttyS0 時,我也有一個空指針取消引用。結果表明我必須指定 ttyO0 而不是 ttyS0。我看到您在啟動期間在您的設置中編寫了 ttyO0,而在啟動後的替代互動式設置中編寫了 ttyS0,這可能會揭示有關此主題的一些混淆。因此,請說明您使用的是哪個 tty。有關 KDB 作為 kgdb 前端的更多資訊,請參閱http://elinux.org/KDB 這對我很有幫助,因為它是一個詳細的描述,包括範例還包括如何配置核心以至少使用 kgdb/ 的大部分功能數據庫。

引用自:https://unix.stackexchange.com/questions/148651