トレース・ツール

トレースは、プログラムの実行の詳細を示すための手法です。 実行の道筋をたどることができれば、プログラムがどのように実行され、どのようにその環境と相互作用しているかについて、よりよく理解できます。

また、プログラムがその予期された動作から逸脱し始める場所を特定することができます。

Linux® のトレース・ツールは、 strace および ltraceです。 コマンド man strace を実行すると、使用可能なすべてのオプションが表示されます。

strace
strace ツールは、システム呼び出しをトレースします。 このツールは、既に使用可能なプロセスに対して使用するか、新規のプロセスで開始することができます。 strace は、プログラムが実行したシステム呼び出しおよびプロセスが受け取ったシグナルを記録します。 システム呼び出しごとに、名前、引数、および戻り値が使用されます。 strace では、ソースを必要とせずにプログラムをトレースできます (再コンパイルは不要です)。 strace に -f オプションを指定すると、fork したシステム呼び出しの結果作成された子プロセスがトレースされます。 strace を使用して、プラグインの問題を調べたり、プログラムが正しく開始されない理由の解明を試みたりすることができます。

Java™ アプリケーションで strace を使用するには、 strace java <class-name>と入力します。

-oオプションを使用して、straceツールからの追跡出力をファイルに送信できます。

ltrace
ltrace ツールは、ディストリビューションに依存します。 これは strace に非常によく似ています。 このツールは、実行中のプロセスによって呼び出された動的ライブラリー呼び出しをインターセプトして記録します。 strace は、実行中のプロセスが受け取ったシグナルに対しても同様の動作をします。

Java アプリケーションで ltrace を使用するには、 ltrace java <class-name> と入力します。