how to use Xen debugger

「how to use Xen debugger」の編集履歴(バックアップ)一覧はこちら

how to use Xen debugger」(2007/08/01 (水) 18:42:32) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

*Xenに付属のdebuggerであるXen debuggerを使う ReadMeに書いてあるので、英語が胆嚢な人はそちらをどうぞ。 英語が読めなくてもgdb得意な人もそちらをどうぞ。 **Xen起動まで 省略 **gdbserverのビルド % cd /xen-3.1.0-src/tools/debugger/gdb % ./gdbbuild これでgdb-serverが以下のディレクトリに出来上がる % /xen-3.1.0-src/tools/debugger/gdb/gdb-6.2.1-linux-i386-xen/gdb/gdbserver gdb-serverが出来上がったら、それをPATHが通っているディレクトリにコピーする。 もちろんしなくてもいい。起動するときに絶対パスで指定してもいい。 xenのコマンドであるxmがある場所にコピーしておくほうがいいのかもしれない。 % which xm で場所を調べる。僕の環境では/usr/sbin/だった。 % cp /xen-3.1.0-src/tools/debugger/gdb/gdb-6.2.1-linux-i386-xen/gdb/gdbserver/gdbserver-xen /usr/sbin/ でおk。 **デバッグ可能なDomain U用カーネルイメージの作成 普通にmakeするとデバッグ出来ないので、configで以下をenableにする。 Kernel hacking -> Compile the kernel with debug info [*] -> Compile the kernel with frame pointers コンフィグしたらもう一度ビルド、インストール。 **起動中のゲストをデバッグする まず起動中のゲスト(Dom U)のIDを確認する。 xm list で、デバッグしたいゲストのIDを見つける。見つけたら以下のコマンドを実行する。 $domidの部分はさっき調べた、デバッグしたいゲストのID。 %gdbserver-xen 127.0.0.1:9999 --attach $domid %gdb /path/to/vmlinux-syms-2.6.xx-xenU 以降はgdb clientでの操作。 %directory "linux-2.6.1*-xenUというソースへのパスす" %target remote 127.0.0.1:9999 %bt %disass **クラッシュしたdomUゲストのデバッグ debug可能にするには、ダンプが行われなければいけない。 xendを起動する前に、/etc/xen/xend-config.sxpにenable-dump yesを加えておく。 ドメインが壊れたら、コアファイルが /var/xen/dump<domain-name>.<domain-id>.core に出力されるので、 gdbserver-xen 127.0.0.1:9999 --file <core-file> あとはクライアントとして接続するだけらしい。
*Xenに付属のdebuggerであるXen debuggerを使う ReadMeに書いてあるので、英語が胆嚢な人はそちらをどうぞ。 英語が読めなくてもgdb得意な人もそちらをどうぞ。 **Xen起動まで 省略 **gdbserverのビルド % cd /xen-3.1.0-src/tools/debugger/gdb % ./gdbbuild これでgdb-serverが以下のディレクトリに出来上がる % /xen-3.1.0-src/tools/debugger/gdb/gdb-6.2.1-linux-i386-xen/gdb/gdbserver gdb-serverが出来上がったら、それをPATHが通っているディレクトリにコピーする。 もちろんしなくてもいい。起動するときに絶対パスで指定してもいい。 xenのコマンドであるxmがある場所にコピーしておくほうがいいのかもしれない。xmは管理者権限でないと実行できないコマンドになっているので、suで管理者になってから % su % which xm で場所を調べる。僕の環境では/usr/sbin/だった。 % cp /xen-3.1.0-src/tools/debugger/gdb/gdb-6.2.1-linux-i386-xen/gdb/gdbserver/gdbserver-xen /usr/sbin/ でおk。管理者になっていたことを忘れてファイルなんかを作ると、後で面倒なので上のことが終わったら管理者から抜けておく。 % exit **デバッグ可能なDomain U用カーネルイメージの作成 普通にmakeするとデバッグ出来ないので、configで以下をenableにする。 Kernel hacking -> Compile the kernel with debug info [*] -> Compile the kernel with frame pointers コンフィグしたらもう一度ビルド、インストール。 **起動中のゲストをデバッグする まず起動中のゲスト(Dom U)のIDを確認する。 xm list で、デバッグしたいゲストのIDを見つける。見つけたら以下のコマンドを実行する。 $domidの部分はさっき調べた、デバッグしたいゲストのID。 %gdbserver-xen 127.0.0.1:9999 --attach $domid %gdb /path/to/vmlinux-syms-2.6.xx-xenU 以降はgdb clientでの操作。 %directory "linux-2.6.1*-xenUというソースへのパスす" %target remote 127.0.0.1:9999 %bt %disass **クラッシュしたdomUゲストのデバッグ debug可能にするには、ダンプが行われなければいけない。 xendを起動する前に、/etc/xen/xend-config.sxpにenable-dump yesを加えておく。 ドメインが壊れたら、コアファイルが /var/xen/dump<domain-name>.<domain-id>.core に出力されるので、 gdbserver-xen 127.0.0.1:9999 --file <core-file> あとはクライアントとして接続するだけらしい。

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。