Catch up with the original.

Submitted by: Yoshiaki Uchikawa <yoshiaki@kt.rim.or.jp>
This commit is contained in:
hanai 1997-04-09 03:05:58 +00:00
parent d1efa8f258
commit 0e31a95d50

View File

@ -1,6 +1,6 @@
<!-- $Id: kerneldebug.sgml,v 1.5 1997/02/25 04:56:32 hanai Exp $ -->
<!-- $Id: kerneldebug.sgml,v 1.6 1997/03/25 06:31:27 hanai Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.13 -->
<!-- Original revision: 1.14 -->
<chapt><heading>カーネルデバッグ<label id="kerneldebug"></heading>
@ -482,6 +482,37 @@ Debugger (msg=0xf01b0383 "Boot flags requested debugger")
ます) で動かすなど, 通常の GDB セッションでできることのほとんどのこ
とができます.
<p>リモート GDB は LKM のデバッグも行なうことができます. 最初に LKM を
デバッグシンボルを含めた形で作ります.
<tscreen><verb>
# cd /usr/src/lkm/linux
# make clean; make COPTS=-g
</verb></tscreen>
そしてターゲットマシン上でモジュールのこのバージョンをインストールし
ます. これをロードしてから, <tt>modstat</tt> を使ってロードされている
ことを確認してください:
<tscreen><verb>
# linux
# modstat
Type Id Off Loadaddr Size Info Rev Module Name
EXEC 0 4 f5109000 001c f510f010 1 linux_mod
</verb></tscreen>
示されたロードアドレスに 0x20 (a.outのヘッダはおそらくこの大きさでしょ
う) を加えます. それがモジュールコードの再配置されるアドレスです.
GDB の <tt>add-symbol-file</tt> コマンドを使ってデバッガにモジュールの
情報をつたえます.
<tscreen><verb>
(kgdb) add-symbol-file /usr/src/lkm/linux/linux_mod.o 0xf5109020
add symbol table from file "/usr/src/lkm/linux/linux_mod.o" at
text_addr = 0xf5109020?
(y or n) y
(kgdb)
</verb></tscreen>
これで LKM のすべてのシンボルにアクセスできるようになります.
<sect><heading>コンソールドライバのデバッグ</heading>
<p>DDBを動かすためにはコンソールドライバが必要ですから, コンソールドラ