[OT] Which IDE / Editor do you use?

Artur Skawina art.08.09 at gmail.com
Sat Sep 14 12:52:52 PDT 2013


On 09/14/13 21:15, Paulo Pinto wrote:
> So much work when one could just call the debugger from running code,
> 
> http://msdn.microsoft.com/en-us/library/f408b4et.aspx
> 
> at least on Windows. :)

   // version (x86|x86_64)
   enum __debugbreak = q{asm { "int $3"; }};

   void main() {
      import std.stdio;
      auto a = 42;
      writeln(a);
      mixin (__debugbreak);
      writeln(a);
   }


$ gdc -O3 -g explbp.d -o explbp
$ gdb ./explbp
(gdb) run
42

Program received signal SIGTRAP, Trace/breakpoint trap.
D main () at explbp.d:10
10	      writeln(a);
(gdb) bt
#0  D main () at explbp.d:10
#1  0x00000000004082af in rt.dmain2._d_run_main.runMain (this=0x7fffffffe480)
    at ../../../../libphobos/libdruntime/rt/dmain2.d:620
#2  0x0000000000408a0f in rt.dmain2._d_run_main() (this=this at entry=0x7fffffffe480, dg=...)
    at ../../../../libphobos/libdruntime/rt/dmain2.d:595
#3  0x0000000000408c30 in rt.dmain2._d_run_main.runAll (this=0x7fffffffe480)
    at ../../../../libphobos/libdruntime/rt/dmain2.d:630
#4  0x0000000000408a0f in rt.dmain2._d_run_main() (this=this at entry=0x7fffffffe480, dg=...)
    at ../../../../libphobos/libdruntime/rt/dmain2.d:595
#5  0x0000000000408ba0 in _d_run_main (argc=1, argv=<optimized out>, mainFunc=<optimized out>)
    at ../../../../libphobos/libdruntime/rt/dmain2.d:639
#6  0x00007ffff762b662 in __libc_start_main (main=0x408bd0 <main>, argc=1, 
    ubp_av=0x7fffffffe5c8, init=<optimized out>, fini=<optimized out>, 
    rtld_fini=<optimized out>, stack_end=0x7fffffffe5b8) at libc-start.c:225
#7  0x0000000000403055 in _start () at ../sysdeps/x86_64/start.S:123
(gdb) p a
$1 = 42
(gdb) c
Continuing.
42
[Inferior 1 (process 32095) exited normally]
(gdb) q


DMD might support inline asm too, with a different syntax; never used it.


artur



More information about the Digitalmars-d mailing list