fault イベントは、指定の障害に遭遇したとき、発生します。障害は、アーキテクチャー依存です。dbx に対して知られる次の一連の障害は、proc(4) マニュアルページで定義されています。
|
障害 |
内容の説明 |
|---|---|
|
FLTILL |
不正命令 |
|
FLTPRIV |
特権付き命令 |
|
FLTBPT* |
ブレークポイントトラップ |
|
FLTTRACE* |
トレーストラップ (ステップ実行) |
|
FLTACCESS |
メモリーアクセス (境界合わせなど) |
|
FLTBOUNDS |
メモリー境界 (無効なアドレス) |
|
FLTIOVF |
整数オーバーフロー |
|
FLTIZDIV |
整数ゼロ除算 |
|
FLTPE |
浮動小数点例外 |
|
FLTSTACK |
修復不可能なスタックフォルト |
|
FLTPAGE |
修復可能なページフォルト |
|
FLTWATCH* |
ウォッチポイントトラップ |
|
FLTCPCOVF |
CPU パフォーマンスカウンタオーバーフロー |
BPT、TRACE、BOUNDS は、ブレークポイントとステップ実行を実現するため、dbx で使用されます。これらを操作すると、dbx の動作に影響を及ぼす場合があります。
FLTBPT および FLTTRACE は、ブレークポイントやシングルステップ実行などの dbx の基本機能を妨げることがあるため、無視されます (「イベントの安全性」を参照)。
これらの障害は、/sys/fault.h から抜粋されています。fault には前述の名前を大文字または小文字で指定できるほか、実際のコードも指定できます。また、コードの名前には、接頭辞 FLT- を付けることがあります。
fault イベントは、Linux プラットフォームでは使用できません。