【備忘録】ちょっとしたメモ書き【備忘録】

自分でやったこと調べてみた事とのメモ書きブログです
主に周辺機器の翻訳した取り説や故障修理の手順を記録しています。

Pstack

2024年10月21日 | UNIX忘備録

pstack コマンドは、Solarisや他のUNIX系オペレーティングシステム上で実行中のプロセスやコアダンプファイルのスタックトレースを表示するためのツールです。pstackを使うことで、指定したプロセスやコアファイルに関する各スレッドのコールスタックを確認できます。

出力の解説

  • core 'core_file' of 1234: myapp
    pstackが解析しているコアダンプファイルと、そのダンプが取られたプロセスID(ここでは 1234)、およびプロセス名(myapp)を表示しています。

  • lwp#thread#
    それぞれのスレッドのLight Weight Process (LWP)番号と、スレッド番号が表示されます。LWPは、SolarisのスレッドのOSレベルでの実装です。

  • コールスタック
    各スレッド(LWP)のスタックトレースが表示されます。各スタックフレームは以下の情報で構成されています:

    1. アドレス:
      各スタックフレームのメモリアドレスが表示されます。

    2. 関数名と引数:
      スレッドが呼び出している関数と、渡されている引数が表示されます。例えば、lwp_parkcond_waitなどのシステムコールやユーザー定義の関数がリストアップされています。

    3. ユーザー定義関数(アプリケーションコード):
      スタックの最下部に、アプリケーションコードで呼ばれた関数(例: myapp_func1, myapp_func2, myapp_func3)が表示されます。ここが通常、バグの発生源となる場所です。

  • pstackは、シンプルかつ強力なツールで、Solarisや他のUNIX系システムでクラッシュしたアプリケーションやプロセスのスタックトレースを解析するために使用されます。

   Pstackの利点

    簡単にプロセスやコアダンプのスタックトレースを取得できるため、デバッグやクラッシュ解析に非常に有効。

    追加のオプション設定が不要で、簡潔なスタックトレース出力を得られる。

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« mdb -k | トップ |   
最新の画像もっと見る

UNIX忘備録」カテゴリの最新記事