マクロを作成しましたが、
#define DEBUG_BREAK(a) if (a) __asm int 3;
しかし問題は、デバッガーが接続されていない場合、プログラムが正しく実行されないことです。
したがって、デバッガーが接続されているかどうかを知る必要があります。デバッガーがある場合、アプリは を呼び出す必要がありますint 3
。そうでなければ、そうすべきではありません。
どうすればこれを行うことができますか?
マクロを作成しましたが、
#define DEBUG_BREAK(a) if (a) __asm int 3;
しかし問題は、デバッガーが接続されていない場合、プログラムが正しく実行されないことです。
したがって、デバッガーが接続されているかどうかを知る必要があります。デバッガーがある場合、アプリは を呼び出す必要がありますint 3
。そうでなければ、そうすべきではありません。
どうすればこれを行うことができますか?
CheckRemoteDebuggerPresent
またはIsDebuggerPresent
- を使用できます。いいえ、CheckRemoteDebuggerPresent
必ずしもデバッガーが別のマシンで実行されることを意味するわけではなく、システムにブレークポイントなどを処理できるデバッグ プロセスがあることを意味します (リモート デバッガーを使用する場合、小さなプロセスがあります)。ターゲットシステムでも、それが由来します)。
編集:そして、この時点で、マクロではなく、何らかの形式の関数を間違いなく提案します。