On Sunday, 15 June 2014 at 14:50:30 UTC, Trass3r wrote:
void main()
{
        asm { int 3; }
}

object.Error: Breakpoint
----------------
0x00402013 in _Dmain at bptest.d(6)
0x00402314 in void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).runAll().void __lambda1() 0x004022E7 in void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).runAll()
0x00402200 in _d_run_main


Is there any good reason to catch that?
I really want the debugger to fire up.

It is default windows runtime behavior and unless it provides some interface to adjust it, you can not fix it (except patching and rebuilding runtime, of course). Or, perhaps, you can bypass runtime behavior by using windows api directly to adjust the behavior to your needs.

By the way, judging by that runtime catches windows exceptions and rethrows them as errors (object.Error: Breakpoint), you are not encouraged to catch them.

Reply via email to