「debug print on HVM」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
*Xen HVMのPCエミュレータのデバッグプリントをする
Xen HVMはqemu-dmというqemuのようなPCエミュレータによってデバイスをエミュレートしています。このデバイスエミュレータをデバッグしたいときには以下のようなことをします。
まず、デバッグメッセージは
/var/log/xen/qemu-dm.数字.log
に出力されます。普通にXenをインストールし、HVMを起動した場合は5行程度のメッセージしか出力されていません。
通常はデバッグメッセージは
#ifdef DEBUG_デバイス名
fprintf(logfile,"hogehoge");
#endif
のように出力します。
#define DEBUG_デバイス名
は通常はコメントアウトされているのでデバッグメッセージは出力されません。
このコメントアウトをはずすか、ifdefをコメントアウトすればデバッグメッセージは出力されます。
これを利用して、任意の場所が実行されているかどうかを検証することができます。
デバイスエミュレータの改変にどうぞ。
*Xen 自身のデバッグプリント
Xen内でのデバッグプリントは
gdprintk(loglevel,"hogehoge\n",...)
でできます。
loglevelの定義は
#highlight(c){{
-xen/include/xen/config.h
39 #define XENLOG_ERR "<0>"
40 #define XENLOG_WARNING "<1>"
41 #define XENLOG_INFO "<2>"
42 #define XENLOG_DEBUG "<3>"
43
44 #define XENLOG_GUEST "<G>"
45
46 #define XENLOG_G_ERR XENLOG_GUEST XENLOG_ERR
47 #define XENLOG_G_WARNING XENLOG_GUEST XENLOG_WARNING
48 #define XENLOG_G_INFO XENLOG_GUEST XENLOG_INFO
49 #define XENLOG_G_DEBUG XENLOG_GUEST XENLOG_DEBUG
50
}}
このあたりです。
出力を見るには以下のコマンドを使います。
xm dmesg
*Xen HVMのPCエミュレータのデバッグプリントをする
Xen HVMはqemu-dmというqemuのようなPCエミュレータによってデバイスをエミュレートしています。このデバイスエミュレータをデバッグしたいときには以下のようなことをします。
まず、デバッグメッセージは
/var/log/xen/qemu-dm.数字.log
に出力されます。普通にXenをインストールし、HVMを起動した場合は5行程度のメッセージしか出力されていません。
通常はデバッグメッセージは
#ifdef DEBUG_デバイス名
fprintf(logfile,"hogehoge");
#endif
のように出力します。
#define DEBUG_デバイス名
は通常はコメントアウトされているのでデバッグメッセージは出力されません。
このコメントアウトをはずすか、ifdefをコメントアウトすればデバッグメッセージは出力されます。
これを利用して、任意の場所が実行されているかどうかを検証することができます。
デバイスエミュレータの改変にどうぞ。
*Xen 自身のデバッグプリント
Xen内でのデバッグプリントは
gdprintk(loglevel,"hogehoge\n",...)
でできます。
loglevelの定義は
#highlight(c){{
-xen/include/xen/config.h
39 #define XENLOG_ERR "<0>"
40 #define XENLOG_WARNING "<1>"
41 #define XENLOG_INFO "<2>"
42 #define XENLOG_DEBUG "<3>"
43
44 #define XENLOG_GUEST "<G>"
45
46 #define XENLOG_G_ERR XENLOG_GUEST XENLOG_ERR
47 #define XENLOG_G_WARNING XENLOG_GUEST XENLOG_WARNING
48 #define XENLOG_G_INFO XENLOG_GUEST XENLOG_INFO
49 #define XENLOG_G_DEBUG XENLOG_GUEST XENLOG_DEBUG
50
}}
このあたりです。
出力を見るには以下のコマンドを使います。
xm dmesg
参考URL[[http://lists.xensource.com/archives/html/xen-devel/2005-10/msg00907.html]]