summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--share/doc/ja_JP.EUC/handbook/kerneldebug.sgml35
1 files changed, 33 insertions, 2 deletions
diff --git a/share/doc/ja_JP.EUC/handbook/kerneldebug.sgml b/share/doc/ja_JP.EUC/handbook/kerneldebug.sgml
index 7b22399..3b6566d 100644
--- a/share/doc/ja_JP.EUC/handbook/kerneldebug.sgml
+++ b/share/doc/ja_JP.EUC/handbook/kerneldebug.sgml
@@ -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を動かすためにはコンソールドライバが必要ですから, コンソールドラ
OpenPOWER on IntegriCloud