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パッチでカーネルをパッチする必要がありますか?

ベストアンサー1

また、ttyS0を使用しようとしたときにNULLポインタの逆参照が発生しました。 ttyS0の代わりにttyO0を指定する必要があることがわかりました。起動中に設定にttyO0を書き、起動後の代替対話型設定にttyS0を書きました。従ってどのttyを使用しているか明確にしなさい。 kgdbのフロントエンドであるKDBの詳細については、以下を参照してください。http://elinux.org/KDB 少なくともkgdb / kdbの機能の大部分を使用するようにカーネルを構成する方法と例を含む詳細な説明でしたので、多くの助けになりました。

おすすめ記事