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.