Why are breakpoints caught by the runtime?
    Daniel Murphy via Digitalmars-d 
    digitalmars-d at puremagic.com
       
    Tue Jun 17 19:18:28 PDT 2014
    
    
  
"Trass3r"  wrote in message news:lonuiouwqmquoyrjhbcv at forum.dlang.org...
> So you can't even do something like
> extern extern (C) __gshared bool rt_trapExceptions;
> void main()
> {
> rt_trapExceptions = false;
> asm { int 3; }
> }
>
No, because rt_trapExceptions is checked before main is called, something 
like this:
int tryMain()
{
    void runMainAndStuff()
    {
        runModuleConstructors();
        main();
    }
    if (rt_trapExceptions)
    {
        try { runMainAndStuff(); } catch { ... }
    }
    else
        runMainAndStuff();
}
It might be possible to _replace_ the variable using some linker magic but I 
haven't managed to do that successfully. 
    
    
More information about the Digitalmars-d
mailing list