ホームページ  >  記事  >  バックエンド開発  >  Linux デバッグ ツール strace および gdb_PHP チュートリアルに基づく一般的なコマンドの概要

Linux デバッグ ツール strace および gdb_PHP チュートリアルに基づく一般的なコマンドの概要

WBOY
WBOYオリジナル
2016-07-21 15:09:281179ブラウズ

strace と gdb は、Linux 環境で一般的に使用される 2 つのデバッグ ツールです。ここでは、これら 2 つのツールの使用時の共通パラメーターの個人的な概要を示します。これは将来のレビュー用に確保されています。
strace デバッグ ツール
strace ツールは、パラメーター、戻り値、実行時間を含む、プロセス実行中にシステム コールと受信信号を追跡するために使用されます。 Linux では、ユーザー プログラムがシステム デバイスにアクセスしたい場合、ユーザー モードからカーネル モードに切り替える必要があり、これはシステム コールによって開始および完了されます。
straceの共通パラメータ:
-c 各システムコールの実行時間、呼び出し数、エラー数をカウントし、プログラム終了時にレポートを与える
-p pid 指定されたプロセスを追跡することができる複数の -p を使用して同時に追跡します 複数のプロセス
-o ファイル名 strace はデフォルトで stdout に出力します、-o は指定されたファイルに出力を書き込むことができます
-f fork によって生成された子プロセスのシステムコールを追跡します
-ff 多くの場合-o オプションで使用すると、異なるプロセス (サブプロセス) によって生成されたシステムコールが各 filename.pid ファイルに出力されます
-F vfork サブプロセスのシステムコールを追跡してみます 注: -f と同時に使用すると、vfork が実行されます。は追跡されません
-e expr Output filterexpression, you can Filter out strace results that you don't want to Output
-e trace=set トレースセット内のシステムコールを指定します
-e trace=network 関連するすべてのシステムコールをトレースしますネットワークへ
-e strace=signal システムシグナルに関連するすべてのシステムコールをトレースします
-e trace=ipc プロセス通信に関連するすべてのシステムコールをトレースします
-e signal=set トレースセット内のシグナルを指定します
-e read=set指定したファイルから読み取ったデータを出力します。例: -e read=3,5
-e write=set 指定したファイルに書き込まれたデータを出力します。例: -e write=1
-r 各システムの相対時間を出力します。 call
-t 出力の各行の前に時間情報を追加します
-tt 出力の各行の前に時間情報を追加します。時間はマイクロ秒レベルまで正確です
-ttt 出力の各行の前に時間情報を追加します。出力は相対的ですtime
-s 出力文字列の各行の長さを指定します (デフォルトは 32)
strace の使用例:
strace -t whoami #whoami 実行可能プログラムを追跡し、出力結果の各行の前に実行時間を出力します
strace -p 17151 -p 17152 -p 17153 #プロセス 17151、17152、17153 も追跡します
strace -f -e trace=read,write -p 17151 -o log #プロセス 17151 およびサブの読み取りおよび書き込みシステム コールを追跡します-プロセス、ログ ファイルに出力
gdb デバッグ ツール
GDB は GNU オープン ソース組織によってリリースされた、UNIX 上の強力なプログラム デバッグ ツールです。 gcc のコンパイル時に -g パラメータを追加すると、実行可能プログラムに gdb デバッグ情報を追加できます。
(1) info
省略形: i、情報ブレーク、情報変数、情報スタックなどの gdb サブコマンドに関する情報をリストします。
(2) list [file:]function
省略形: l、現在の行のコンテキストを表示します。デフォルトは 10 行で、特定の関数でソース コードをリストするように設定することもできます。
(3) edit [file:]function
略語: e、現在の行を編集、または関数のソースコードを編集します。
(4) Break [file:]function
略称: b、特定の行または関数に設定できるブレークポイントを設定します。
(5) run [arglist]
略語: r、プログラムをブレークポイントまで実行して停止します。 run コマンドの後に、プログラムのデバッグに必要なパラメーターを追加できます。
(6)next
省略形: n、単一ステートメントの実行。
(7)Continue
略語: c、次のブレークポイントまでプログラムの実行を継続します。
(8) print
省略形: p、変数の値を出力します。
(9)bt
関数スタック情報を表示します。
(10) enter
Enter キーを押して、最後のデバッグ コマンドを繰り返します。
(11) help [name]
指定された gdb コマンドのヘルプ情報を表示します。
(12)quit
略語: q、gdbを終了します。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/327282.html技術記事 strace と gdb は、Linux 環境で一般的に使用される 2 つのデバッグ ツールです。ここでは、これら 2 つのツールの使用時の共通パラメーターの個人的な概要を示します。これは将来のレビュー用に確保されています。 strace デバッグ ツール...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。