3

C++ で Win32 サービスを作成しています。(特に) DebugBreak() を呼び出すカスタム Assert マクロがあります。Vista でサービスを実行しているときに、DebugBreak() 呼び出し (int 3 アセンブラー オペコード) に達するとサービスがクラッシュし、vista クラッシュ ダイアログが表示されます。エラー コードは 80000003 (ハードコードされたブレークポイント) です。

通常、デバッガーが接続されていない場合、サービスが何もせずに DebugBreak() 呼び出しを実行することを期待しています。なぜクラッシュするのですか?実行し続けるように変更できる設定はありますか?

4

2 に答える 2