6

マクロを作成しましたが、

#define DEBUG_BREAK(a) if (a) __asm int 3;

しかし問題は、デバッガーが接続されていない場合、プログラムが正しく実行されないことです。

したがって、デバッガーが接続されているかどうかを知る必要があります。デバッガーがある場合、アプリは を呼び出す必要がありますint 3。そうでなければ、そうすべきではありません。

どうすればこれを行うことができますか?

4

2 に答える 2

5

CheckRemoteDebuggerPresentまたはIsDebuggerPresent- を使用できます。いいえ、CheckRemoteDebuggerPresent必ずしもデバッガーが別のマシンで実行されることを意味するわけではなく、システムにブレークポイントなどを処理できるデバッグ プロセスがあることを意味します (リモート デバッガーを使用する場合、小さなプロセスがあります)。ターゲットシステムでも、それが由来します)。

編集:そして、この時点で、マクロではなく、何らかの形式の関数を間違いなく提案します。

于 2013-05-22T08:40:20.363 に答える