Red Hat Training

A Red Hat training course is available for RHEL 8

19.3. 仮想マシンプロセスのバックトレース

仮想マシンの誤作動に関連するプロセスが機能する場合、gstack コマンドをプロセス識別子 (PID) とともに使用して、誤作動しているプロセスの実行スタックトレースを生成できます。プロセスがスレッドグループの一部である場合は、すべてのスレッドもトレースされます。

前提条件

  • GDB パッケージがインストールされていることを確認します。

    GDB および利用可能なコンポーネントのインストール方法は、「 「Installing the GNU Debugger」を参照してください。

  • バックトレースするプロセスの 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 引数は、gstack man ページを参照してください。
  • GDB の詳細は、「GNU Debugger」を参照してください。