New debugger for D!!!

John Colvin john.loughran.colvin at gmail.com
Mon Jan 27 09:10:04 PST 2014


On Monday, 27 January 2014 at 16:42:14 UTC, Sarath Kodali wrote:
> I'm planning to release a new debugger for D sometime during 
> end of February.  This is a heads up for all those who are 
> eagerly looking for a good debugger for D.
>
> Here is a sample debug session:
>
> $ ./dbg ./dbg
> New session s1 (./dbg) started
> New process p1 (program dbg) created
> p1.1 SUSPENDED  [D main in dbg.d]
> 78:  main(string[] args)
> dbg> list 175
> Source listing for thread p1.1, program dbg
> 175:      if (srcpath !is null)
> 176:          dv_dbgSrcpath(srcpath);
> 177:      if (sympath !is null)
> 178:          dv_dbgSympath(sympath);
> 179:      auto cmd = new Command(uiType);
> 180:      cmd.rc_exec(GLOBAL_DBGRC_FILE);
> 181:      if (dbgrc is null)
> 182:      {
> 183:          dbgrc = homedir ~ "/" ~ DBGRC_FILE;
> 184:          cmd.rc_exec(dbgrc);    // home dir dbgrc
> dbg> run -u 179
> p1.1 SUSPENDED  [D main in dbg.d]
> 179:      auto cmd = new Command(uiType);
> dbg> step -o
> p1.1 STEPPED  [D main in dbg.d]
> 180:      cmd.rc_exec(GLOBAL_DBGRC_FILE);
> dbg> help
> Run help on the following topics to get additional help.
> Start & Stop:
>     create, grab, quit, release, %follow, %srcpath, %sympath
> Execution:
>     halt, jump, kill, run, step, wait, %thread
> Events:
>     events, onstop, signal, stop, syscall, %lastevent, 
> %thisevent
> View or Modify:
>     dump, list, maps, print, regs, set, stack, status, symbols, 
> vars, which
>     %dbg_lang, %file, %frame, %func, %lang, %line, %list_file, 
> %list_line,
>     %loc, %num_lines
> Convenience:
>     !, alias, help, logoff, logon, script, %cwd, %logfile, 
> %log_prefix,
>     %prompt, %result, %verbose
>
> For a full list of help topics, run "help toc".
> dbg> help create
> SYNOPSIS:
>     create [-f <follow>] [-l] [-s <srcpath>] [-S <sympath>] 
> [<shell_cmd_string>]
> DESCRIPTION:
>     Create a new debugging session for <shell_cmd_string>. The 
> existing debug
>     sessions are not affected by this command. One could 
> simultaneously
>     have multiple debug sessions. If <shell_cmd_string> is not 
> specified, the
>     <shell_cmd_string> from previous create command is used and 
> the previous
>     create session is destroyed. After the session is created, 
> this command
>     runs all the processes till their 'start' function.
> OPTIONS:
>     -f    follow 'prog', 'proc', 'thread' or 'all' or 'none'
>     -l    load only; do not run new program / thread till its 
> 'start' function
>     -s    paths for source files
>     -S    paths for debug symbol files
> NOTES:
>     It is not possible to redirect or pipe the output of create 
> command.
> EXAMPLES:
>     create test_prog1 arg1 arg2 2>/tmp/prog1.err | test_prog2
>           # creates a new debug session for test_prog1 and 
> test_prog2
>     create MANPAGER=more man 1p man
>     create xterm -e ./cmd
> SEE ALSO:
>     events, quit, kill, release, run, shell_cmd_string, status, 
> step
>     %dbg_follow, %dbg_srcpath, %dbg_sympath, %follow, %srcpath, 
> %sympath
> dbg>

Without the nasty line-wrapping: http://pastebin.com/1Z4T4vep


More information about the Digitalmars-d-announce mailing list