Why are breakpoints caught by the runtime?

Maxim Fomin via Digitalmars-d digitalmars-d at puremagic.com
Sun Jun 15 08:53:24 PDT 2014


On Sunday, 15 June 2014 at 15:23:29 UTC, Marc Schütz wrote:
> 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.
>
> Which OS and compiler version is that? The breakpoint is 
> correctly triggered here on openSUSE 13.1 x86_64 / DMD 2.066 
> git:
>
>     # ./bptest
>     Trace/breakpoint trap
>     # gdb ./bptest
>     ...
>     (gdb) run
>     Program received signal SIGTRAP, Trace/breakpoint trap.
>     0x000000000041b7b5 in D main ()
>     (gdb)

Obviously he is using windows and compiler version is irrelevant 
-  it is windows runtime issue.


More information about the Digitalmars-d mailing list