Kgdb
kgdb 啟動失敗
我一直在努力讓 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/ 的大部分功能數據庫。