I have tried in command line, when executing DebugBreak, there will be the following events happen,
(running from command line)
1. select whether to send debug information to Microsoft
2. JIT debugger dialog will be ok and let us select which debugger to use;
3. If we select Visual Studio, then the break-continue-ignore dialog will be displayed.
Do you meet with the same sequences in your environment (I have attached the code below)? If yes, as you mentioned, your step "assert dialog" is my step 3 (assert dialog you mean the break-continue-ignore dialog)? And your step 4 is my step 2? So, in your environment, step 3 happens before step 2?
In step 4, it searches for a JIT debugger and launches it if you will. It's the debug dialog.
The "assert dialog" is not step 4. It's step 0. When you click continue, it invokes int 3, thus starting the chain.
a = 100;
b = 200;
c = 300;
a = 400;
__except(GetExceptionCode() == EXCEPTION_BREAKPOINT ?
EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH)
// No debugger is attached, so return FALSE
// and continue.
Originally Posted by Elysia