10.2. ltrace の使用
分析するプログラムで ltrace
ユーティリティーを実行するには、次のコマンドを実行します。
$ scl enable devtoolset-10 'ltrace program argument...'
program を、分析するプログラムの名前に置き換え、argument を、このプログラムに指定するコマンドラインオプションと引数に置き換えます。以下の例では、-p
コマンドラインオプションとプロセス ID を使用して、実行中のプロセスでユーティリティーを実行できます。
$ scl enable devtoolset-10 'ltrace -p process_id'
この scl
ユーティリティーを使用してコマンドを実行すると、これを Red Hat Enterprise Linux システムに優先して使用する Red Hat Developer Toolset バイナリーで実行することができることに注意してください。これにより、デフォルトで Red Hat Developer Toolset ltrace
でシェルセッションを実行できます。
$ scl enable devtoolset-10 'bash'
任意の時点で使用している ltrace
のバージョンを確認するには、以下のコマンドを実行します。
$ which ltrace
Red Hat Developer Toolset の ltrace
実行可能なパスは、/opt
で始まります。以下のコマンドを使用して、バージョン番号が Red Hat Developer Toolset ltrace
と一致することを確認することができます。
$ ltrace -V
10.2.1. 出力のファイルへのリダイレクト
デフォルトでは ltrace
、各システムコールの名前、引数、および戻り値を標準エラー出力に出力します。この出力をファイルにリダイレクトするには、-o
コマンドラインオプションの後にファイル名を指定します。
$ scl enable devtoolset-10 'ltrace -o file_name program argument...'
file_name をファイル名に置き換えます。
例10.1 出力のファイルへのリダイレクト
例8.1「デバッグ情報を使用した C プログラムのコンパイル」 から fibonacci
ファイルのバージョンを若干変更したことを検討してください。この実行可能ファイルには、Fibonacci シーケンスが表示され、オプションでこのシーケンスのメンバー数を指定することができます。のファイルで ltrace
ユーティリティーを実行し、トレース出力を fibonacci.log
にリダイレクトします。
$ scl enable devtoolset-10 'ltrace -o fibonacci.log ./fibonacci 20'
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
これにより、現在の作業ディレクトリーに、fibonacci.log
という新しいプレーンテキストファイルが作成されます。