簡単な紹介
DBG_PRINTEXCEPTION_C、コード0x40010006; DBG_PRINTEXCEPTION_WIDE_C、コード0x4001000A、コンソールウィンドウデバッガにおける異常情報の印刷/デバッグ情報。次のようにNtstatus.hには、ヘッダファイルに定義されています。
//
//メッセージId:DBG_PRINTEXCEPTION_C
//
// MessageText:
//
//デバッガ制御に印刷例外C.
//
の#define DBG_PRINTEXCEPTION_C((NTSTATUS)0x40010006L)// WINNT
//
//メッセージId:DBG_PRINTEXCEPTION_WIDE_C
//
// MessageText:
//
//デバッガ制御に印刷例外C.
//
の#define DBG_PRINTEXCEPTION_WIDE_C((NTSTATUS)0x4001000AL)// WINNT
彼らは唯一の違い、DBG_PRINTEXCEPTION_CはDBG_PRINTEXCEPTION_WIDE_Cは、Unicodeバージョンで、マルチバイト版です。
トリガ条件
OutputDebugStringをし、他の同様の機能が効果的にWindowsの(DBG_PRINTEXCEPTION_CまたはDBG_PRINTEXCEPTION_WIDE_C)によって引き起こされた例外につながります。デバッガをアタッチした後、Windowsがデバッガ異常や通知を受け取ることになります。デバッガを添付しない場合は、(継続エラーなど)プログラムに例外を渡します。プログラムは、処理の例外ハンドラでない場合は、生き続けます。プログラムが実行されている場合は、例外ハンドラが呼び出されます。通常はデバッガが印刷されないすべき理由のOutputDebugStringがないため、プログラムがイベントを処理します。
異常な構造がいっぱい
ExceptionAddress:0xXXXXXXXX
例外コード:40010006 / 4001000A //エラーコード
ExceptionFlags:00000001
NumberParameters:2 追加パラメータの数//、典型的には2つの
パラメータ[0] の//文字列長情報
パラメータ[1]: //文字列のポインタ