strace って ptrace システムコールを使ってて、割込み(例外)も使ってるって書いてたなと思って調べてみた。
- 作者: 高橋浩和,小田逸郎,山幡為佐久
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2006/11/18
- メディア: 単行本
- 購入: 14人 クリック: 197回
- この商品を含むブログ (118件) を見る
Linux には、プロセスの動作を観察できるシステムコール、ptrace が備わっています。ptraceを簡単に利用できるコマンドとしてstraceがある
- 作者: Daniel P. Bovet,Marco Cesati,高橋浩和,杉田由美子,清水正明,高杉昌督,平松雅巳,安井隆宏
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2007/02/26
- メディア: 大型本
- 購入: 9人 クリック: 269回
- この商品を含むブログ (73件) を見る
1 デバッグ例外(Debug)
トラップまたはフォルト。eflagsレジスタのTFフラグを設定すると発生します(デバッガでのステップ実行の際に非常に有用です)。また、有効化したデバッグレジスタのアドレス範囲にある命令を実行したり、オペランドへアクセスしたときも、デバッグ例外が発生します
P.882
Intel 80x86ベースのマシンでは、この種の追跡はeflagsレジスタ中のTFトラップフラグを用いて実装します。TFトップフラグが立っている場合、各アセンブリ言語命令の直後に「デバッグ」例外が発生します。デバッグ例外用のハンドラは、TFトラップフラグを落とし、カレントプロセスを停止し、SIGHLDシグナルを親プロセスに送るだけです。