21.3. 仮想マシンプロセスのバックトレース
仮想マシンの誤作動に関連するプロセスが機能する場合には、プロセス識別子 (PID) を指定して gstack コマンドを使用し、誤作動しているプロセスの実行スタックトレースを生成できます。プロセスがスレッドグループの一部である場合は、スレッドもすべてトレースされます。
前提条件
GDBパッケージがインストールされている。GDBおよび利用可能なコンポーネントのインストールの詳細は、GNU デバッガーのインストール を参照してください。バックトレースするプロセスの PID を把握している。
pgrepコマンドの後にプロセス名を使用すると、PID を検索できます。以下に例を示します。# pgrep libvirt 22014 22025
手順
gstackユーティリティーを使用し、続けてバックトレースを取得するプロセスの PID を指定します。たとえば、次のコマンドは、PID 22014 の
libvirtプロセスをバックトレースします。# gstack 22014 Thread 3 (Thread 0x7f33edaf7700 (LWP 22017)): #0 0x00007f33f81aef21 in poll () from /lib64/libc.so.6 #1 0x00007f33f89059b6 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0 #2 0x00007f33f8905d72 in g_main_loop_run () from /lib64/libglib-2.0.so.0 ...gstack の使用方法に関する詳細は、お使いのシステムのgstackman ページを参照してください。