digitalmars.D.announce - New debugger for D!!!
- Sarath Kodali (83/83) Jan 27 2014 I'm planning to release a new debugger for D sometime during end
- John Colvin (2/86) Jan 27 2014 Without the nasty line-wrapping: http://pastebin.com/1Z4T4vep
- John Colvin (2/91) Jan 27 2014 woops, missed a couple: http://pastebin.com/t0sejnF9
- Sarath Kodali (2/4) Jan 27 2014 Thanks!
- Alexander Bothe (8/11) Jan 27 2014 Which OSs are supported?
- Jeremy DeHaan (3/14) Jan 27 2014 Ditto to these. I'm planning a project that will need a multi
- Sarath Kodali (10/17) Jan 27 2014 Next month I will be releasing an alpha version with support for
- Andrei Alexandrescu (4/22) Jan 27 2014 This does sound very interesting - and don't forget to submit a talk on
- yazd (3/6) Jan 27 2014 Yes please, it would be a very interesting talk.
- Sarath Kodali (3/6) Jan 28 2014 Can't commit but will try :( too many things in my hand ...
- Andrei Alexandrescu (3/10) Jan 28 2014 Do it. http://www.youtube.com/watch?v=JoqDYcCDOTg
- dennis luehring (13/18) Jan 27 2014 why don't ease the IDE integration even more - for example
- Sarath Kodali (8/30) Jan 28 2014 I expect this is how it will be even with dbg and IDEs. The IDE
- dennis luehring (11/17) Jan 28 2014 its a little bit different to pin because pin is the host
- dennis luehring (6/23) Jan 28 2014 i would suggest an real tool api for loaded protocol-drivers - like pin
- Sarath Kodali (6/24) Jan 28 2014 I'm not fixated on JSON :) I thought that is more popular
- dennis luehring (4/12) Jan 28 2014 clear - i would just use a plugin system for adding json or whatever
- Jacob Carlborg (6/12) Jan 28 2014 Why not make it useable as a library that can be directly integrated
- evilrat (5/10) Jan 28 2014 not going happen until dmd gets fixed. i'm not tested GDC yet,
- Iain Buclaw (5/18) Jan 28 2014 1) If it's "optimised out" then I suggest not running a debugger with
- evilrat (4/31) Jan 28 2014 it is optimized out with LDC compiled program, and simply not
- Iain Buclaw (3/32) Jan 28 2014 This sounds promising for GDC (I'm yet to come across some that is
- Sarath Kodali (5/18) Jan 28 2014 If dbg is a library, whenever the debugger hangs or crashes, the
- Jacob Carlborg (5/8) Jan 28 2014 Fair enough. JSON still doesn't sound like a very effective way to
- Nick Sabalausky (5/11) Jan 28 2014 Yea, I'd strongly recommend using a proper binary format. Protobuf can
- Bruno Medeiros (6/24) Feb 06 2014 Ok, going on the contrarian view here, but if those are your supported
- Bruno Medeiros (6/24) Feb 06 2014 Ok, going on the contrarian view here, but if those are your supported
- Idan Arye (19/24) Jan 28 2014 Would you mind putting the line number in the same line as the
- Craig Dillabaugh (10/16) Jan 28 2014 In the event that you take Idan's advice, I just want to be the
- Sarath Kodali (9/33) Jan 28 2014 The output is configurable, independent of JSON or CSV, and
- John J (2/5) Jan 28 2014 bugD :)
- Francesco Cattoglio (2/9) Jan 28 2014 buggeD?
- John J (2/10) Jan 28 2014 Yes, the bugD pronounced as bugged! :)
- Namespace (1/6) Jan 28 2014 D!buger
- Meta (3/10) Jan 28 2014 Too complicated, keep it simple. Maybe Dug, which stands for D
- Andrei Alexandrescu (2/11) Jan 28 2014 noice
- Sarath Kodali (3/18) Jan 29 2014 http://www.noicedebugger.com/ already exists!
- Gary Willoughby (3/23) Jan 29 2014 I like bugD :o)
- Andrea Fontana (3/27) Jan 29 2014 d-bugger
- Meta (3/31) Jan 29 2014 That'll give anyone from the UK a good laugh.
- Andrea Fontana (3/35) Jan 29 2014 :)
- Russel Winder (11/15) Jan 29 2014 Sort of.
- Russel Winder (13/15) Jan 29 2014 You may want to belay that suggestion:
- Justin Whear (3/13) Jan 29 2014 bugger-d
- Andrei Alexandrescu (4/19) Jan 29 2014 "noice" = "nice" in Australian, i.e. I meant I like "Dug". See also
- Rory McGuire (2/13) Jan 28 2014
- Meta (2/21) Jan 29 2014
- John J (2/11) Jan 29 2014 Dug sounds good!
- Idan Arye (5/12) Jan 28 2014 "!" is not a valid character for filenames, and that can be a
- Martin Nowak (3/7) Jan 28 2014 Do you know ngdb (https://github.com/MartinNowak/ngdb)?
- Sarath Kodali (4/13) Jan 28 2014 Thanks for the link, I will take a look. Is this a working
- Martin Nowak (5/6) Jan 30 2014 Kind of ;), I'm not the original author, but I fixed the build and tried...
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 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>
Jan 27 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 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
Jan 27 2014
On Monday, 27 January 2014 at 17:10:06 UTC, John Colvin wrote:On Monday, 27 January 2014 at 16:42:14 UTC, Sarath Kodali wrote:woops, missed a couple: http://pastebin.com/t0sejnF9I'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 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
Jan 27 2014
On Monday, 27 January 2014 at 17:13:05 UTC, John Colvin wrote:Thanks!Without the nasty line-wrapping: http://pastebin.com/1Z4T4vepwoops, missed a couple: http://pastebin.com/t0sejnF9
Jan 27 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.Which OSs are supported? Which compilers are supported, which debug info base is used? Is the info directly extracted from the executable aka Dwarf/CV4/PDB support? The sample debug session looks cool, so I'd really like to know this to estimate whether it's worth to integrate it into Mono-D or other IDEs :-)
Jan 27 2014
On Monday, 27 January 2014 at 18:10:03 UTC, Alexander Bothe wrote:On Monday, 27 January 2014 at 16:42:14 UTC, Sarath Kodali wrote:Ditto to these. I'm planning a project that will need a multi platform debugger, and would love to learn more about this.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.Which OSs are supported? Which compilers are supported, which debug info base is used? Is the info directly extracted from the executable aka Dwarf/CV4/PDB support? The sample debug session looks cool, so I'd really like to know this to estimate whether it's worth to integrate it into Mono-D or other IDEs :-)
Jan 27 2014
On Monday, 27 January 2014 at 18:10:03 UTC, Alexander Bothe wrote:Which OSs are supported? Which compilers are supported, which debug info base is used? Is the info directly extracted from the executable aka Dwarf/CV4/PDB support? The sample debug session looks cool, so I'd really like to know this to estimate whether it's worth to integrate it into Mono-D or other IDEs :-)Next month I will be releasing an alpha version with support for Linux, x86, Elf+Dwarf, DMD and GCC. But in the coming months I will add support for other 64 bit OSes and compilers. I'm also planning to add a JSON or CSV output format so that it will be easy to parse the output when integrating with IDEs. So I would recommend that you wait till I release 1.0 version - sometime before Dconf 2014 - hopefully! Thanks for the interest, Sarath
Jan 27 2014
On 1/27/14 7:00 PM, Sarath Kodali wrote:On Monday, 27 January 2014 at 18:10:03 UTC, Alexander Bothe wrote:This does sound very interesting - and don't forget to submit a talk on the topic to DConf!!! AndreiWhich OSs are supported? Which compilers are supported, which debug info base is used? Is the info directly extracted from the executable aka Dwarf/CV4/PDB support? The sample debug session looks cool, so I'd really like to know this to estimate whether it's worth to integrate it into Mono-D or other IDEs :-)Next month I will be releasing an alpha version with support for Linux, x86, Elf+Dwarf, DMD and GCC. But in the coming months I will add support for other 64 bit OSes and compilers. I'm also planning to add a JSON or CSV output format so that it will be easy to parse the output when integrating with IDEs. So I would recommend that you wait till I release 1.0 version - sometime before Dconf 2014 - hopefully! Thanks for the interest, Sarath
Jan 27 2014
On Tuesday, 28 January 2014 at 05:19:13 UTC, Andrei Alexandrescu wrote:This does sound very interesting - and don't forget to submit a talk on the topic to DConf!!! AndreiYes please, it would be a very interesting talk.
Jan 27 2014
On Tuesday, 28 January 2014 at 05:19:13 UTC, Andrei Alexandrescu wrote:This does sound very interesting - and don't forget to submit a talk on the topic to DConf!!! AndreiCan't commit but will try :( too many things in my hand ...
Jan 28 2014
On 1/28/14 8:04 AM, Sarath Kodali wrote:On Tuesday, 28 January 2014 at 05:19:13 UTC, Andrei Alexandrescu wrote:Do it. http://www.youtube.com/watch?v=JoqDYcCDOTg AndreiThis does sound very interesting - and don't forget to submit a talk on the topic to DConf!!! AndreiCan't commit but will try :( too many things in my hand ...
Jan 28 2014
Am 28.01.2014 04:00, schrieb Sarath Kodali:I'm also planning to add a JSON or CSV output format so that it will be easy to parse the output when integrating with IDEs. So I would recommend that you wait till I release 1.0 version - sometime before Dconf 2014 - hopefully!why don't ease the IDE integration even more - for example the pin tool from intel (ptools.org) is a normal executable (the server) but you can give pin a tool/commander dll per commandline which is then responsible for controling the debugger - this way its very easy to integrate the debugger into any environment fast and performant examples pin.exe -t idadbg.dll <- starts pin with an IDA-tool-dll to be able to control pin with the ida debugger pin.exe -t vsdbg.dll <- starts pin with an vs-studio debug helper this way you can use pin as an debugger for VStudio etc. csv and json is nice - but there a much nicer ways of doing ipc
Jan 27 2014
On Tuesday, 28 January 2014 at 06:34:50 UTC, dennis luehring wrote:Am 28.01.2014 04:00, schrieb Sarath Kodali:I expect this is how it will be even with dbg and IDEs. The IDE will have a plugin that sits between the debugger and IDE. The communication between the IDE plugin and debugger will be over a socket and the dbg output will be in JSON format so that IDE plugin can parse it properly. Depending on the IDE, the plugin will be either a library (dll) or an independent executable.I'm also planning to add a JSON or CSV output format so that it will be easy to parse the output when integrating with IDEs. So I would recommend that you wait till I release 1.0 version - sometime before Dconf 2014 - hopefully!why don't ease the IDE integration even more - for example the pin tool from intel (ptools.org) is a normal executable (the server) but you can give pin a tool/commander dll per commandline which is then responsible for controling the debugger - this way its very easy to integrate the debugger into any environment fast and performant examples pin.exe -t idadbg.dll <- starts pin with an IDA-tool-dll to be able to control pin with the ida debugger pin.exe -t vsdbg.dll <- starts pin with an vs-studio debug helper this way you can use pin as an debugger for VStudio etc. csv and json is nice - but there a much nicer ways of doing ipc
Jan 28 2014
Am 28.01.2014 17:16, schrieb Sarath Kodali:I expect this is how it will be even with dbg and IDEs. The IDE will have a plugin that sits between the debugger and IDE. The communication between the IDE plugin and debugger will be over a socket and the dbg output will be in JSON format so that IDE plugin can parse it properly. Depending on the IDE, the plugin will be either a library (dll) or an independent executable.its a little bit different to pin because pin is the host of the given tool-communication dll - so the dll interface is the interface not JSON (pin(tool dll<--)-- any protocol --> ide/whatever in your idea dbg <--- socker/JASON --> ide/whatever the question is - debuggers needs to throw masses of information around - why put a slow JSON parser between, every single step command gets JSONed, parsed, singlestep, result gets JSOned etc... millions of times - why?
Jan 28 2014
Am 28.01.2014 17:24, schrieb dennis luehring:Am 28.01.2014 17:16, schrieb Sarath Kodali:i would suggest an real tool api for loaded protocol-drivers - like pin do - and implement a control_dbg_with_tcp_and_json.dll as a driver this way its still possible to build a super fast tracing server on top of dbg - else JSON will become a problem - without any need because the same target is reachable with a driver-dll(plugin)I expect this is how it will be even with dbg and IDEs. The IDE will have a plugin that sits between the debugger and IDE. The communication between the IDE plugin and debugger will be over a socket and the dbg output will be in JSON format so that IDE plugin can parse it properly. Depending on the IDE, the plugin will be either a library (dll) or an independent executable.its a little bit different to pin because pin is the host of the given tool-communication dll - so the dll interface is the interface not JSON (pin(tool dll<--)-- any protocol --> ide/whatever in your idea dbg <--- socker/JASON --> ide/whatever the question is - debuggers needs to throw masses of information around - why put a slow JSON parser between, every single step command gets JSONed, parsed, singlestep, result gets JSOned etc... millions of times - why?
Jan 28 2014
On Tuesday, 28 January 2014 at 16:24:32 UTC, dennis luehring wrote:Am 28.01.2014 17:16, schrieb Sarath Kodali:I'm not fixated on JSON :) I thought that is more popular now-a-days :). Today dbg outputs in human readable format. After the alpha release, I will add the machine readable format - what everyone prefers.I expect this is how it will be even with dbg and IDEs. The IDE will have a plugin that sits between the debugger and IDE. The communication between the IDE plugin and debugger will be over a socket and the dbg output will be in JSON format so that IDE plugin can parse it properly. Depending on the IDE, the plugin will be either a library (dll) or an independent executable.its a little bit different to pin because pin is the host of the given tool-communication dll - so the dll interface is the interface not JSON (pin(tool dll<--)-- any protocol --> ide/whatever in your idea dbg <--- socker/JASON --> ide/whatever the question is - debuggers needs to throw masses of information around - why put a slow JSON parser between, every single step command gets JSONed, parsed, singlestep, result gets JSOned etc... millions of times - why?
Jan 28 2014
Am 28.01.2014 18:23, schrieb Sarath Kodali:clear - i would just use a plugin system for adding json or whatever communication (like pin do) so its still api based - not (text/binary) protocol based from the very beginningI'm not fixated on JSON:) I thought that is more popular now-a-days:). Today dbg outputs in human readable format. After the alpha release, I will add the machine readable format - what everyone prefers.the question is - debuggers needs to throw masses of information around - why put a slow JSON parser between, every single step command gets JSONed, parsed, singlestep, result gets JSOned etc... millions of times - why?
Jan 28 2014
On 2014-01-28 04:00, Sarath Kodali wrote:Next month I will be releasing an alpha version with support for Linux, x86, Elf+Dwarf, DMD and GCC.I'm waiting for the OS X version :)But in the coming months I will add support for other 64 bit OSes and compilers. I'm also planning to add a JSON or CSV output format so that it will be easy to parse the output when integrating with IDEs.Why not make it useable as a library that can be directly integrated into an IDE. -- /Jacob Carlborg
Jan 28 2014
On Tuesday, 28 January 2014 at 10:03:03 UTC, Jacob Carlborg wrote:On 2014-01-28 04:00, Sarath Kodali wrote:not going happen until dmd gets fixed. i'm not tested GDC yet, but others compilers don't emit variable address info for debug or it shown as "optimized out" values. i think it may be related to TLS because __gshared variables CAN be debugged.Next month I will be releasing an alpha version with support for Linux, x86, Elf+Dwarf, DMD and GCC.I'm waiting for the OS X version :)
Jan 28 2014
On 28 January 2014 13:24, evilrat <evilrat666 gmail.com> wrote:On Tuesday, 28 January 2014 at 10:03:03 UTC, Jacob Carlborg wrote:1) If it's "optimised out" then I suggest not running a debugger with -O generated code. 2) What debugger are you using? I am aware that gdb does not evaluate D programs correctly in certain situations.On 2014-01-28 04:00, Sarath Kodali wrote:not going happen until dmd gets fixed. i'm not tested GDC yet, but others compilers don't emit variable address info for debug or it shown as "optimized out" values. i think it may be related to TLS because __gshared variables CAN be debugged.Next month I will be releasing an alpha version with support for Linux, x86, Elf+Dwarf, DMD and GCC.I'm waiting for the OS X version :)
Jan 28 2014
On Tuesday, 28 January 2014 at 13:59:48 UTC, Iain Buclaw wrote:On 28 January 2014 13:24, evilrat <evilrat666 gmail.com> wrote:it is optimized out with LDC compiled program, and simply not present with DMD.On Tuesday, 28 January 2014 at 10:03:03 UTC, Jacob Carlborg wrote:1) If it's "optimised out" then I suggest not running a debugger with -O generated code.On 2014-01-28 04:00, Sarath Kodali wrote:not going happen until dmd gets fixed. i'm not tested GDC yet, but others compilers don't emit variable address info for debug or it shown as "optimized out" values. i think it may be related to TLS because __gshared variables CAN be debugged.Next month I will be releasing an alpha version with support for Linux, x86, Elf+Dwarf, DMD and GCC.I'm waiting for the OS X version :)2) What debugger are you using? I am aware that gdb does not evaluate D programs correctly in certain situations.both gdb and llvm. results are same.
Jan 28 2014
On 28 January 2014 14:14, evilrat <evilrat666 gmail.com> wrote:On Tuesday, 28 January 2014 at 13:59:48 UTC, Iain Buclaw wrote:This sounds promising for GDC (I'm yet to come across some that is along the lines of what you describe).On 28 January 2014 13:24, evilrat <evilrat666 gmail.com> wrote:it is optimized out with LDC compiled program, and simply not present with DMD.On Tuesday, 28 January 2014 at 10:03:03 UTC, Jacob Carlborg wrote:1) If it's "optimised out" then I suggest not running a debugger with -O generated code.On 2014-01-28 04:00, Sarath Kodali wrote:not going happen until dmd gets fixed. i'm not tested GDC yet, but others compilers don't emit variable address info for debug or it shown as "optimized out" values. i think it may be related to TLS because __gshared variables CAN be debugged.Next month I will be releasing an alpha version with support for Linux, x86, Elf+Dwarf, DMD and GCC.I'm waiting for the OS X version :)
Jan 28 2014
On Tuesday, 28 January 2014 at 10:03:03 UTC, Jacob Carlborg wrote:On 2014-01-28 04:00, Sarath Kodali wrote:If dbg is a library, whenever the debugger hangs or crashes, the IDE also hangs or crashes and you may loose all your data. It is much safer to have dbg as a server and have an IDE plugin as a client.Next month I will be releasing an alpha version with support for Linux, x86, Elf+Dwarf, DMD and GCC.I'm waiting for the OS X version :)But in the coming months I will add support for other 64 bit OSes and compilers. I'm also planning to add a JSON or CSV output format so that it will be easy to parse the output when integrating with IDEs.Why not make it useable as a library that can be directly integrated into an IDE.
Jan 28 2014
On 2014-01-28 17:21, Sarath Kodali wrote:If dbg is a library, whenever the debugger hangs or crashes, the IDE also hangs or crashes and you may loose all your data. It is much safer to have dbg as a server and have an IDE plugin as a client.Fair enough. JSON still doesn't sound like a very effective way to communicate with. -- /Jacob Carlborg
Jan 28 2014
On 1/28/2014 12:15 PM, Jacob Carlborg wrote:On 2014-01-28 17:21, Sarath Kodali wrote:Yea, I'd strongly recommend using a proper binary format. Protobuf can help with that. Text-based data is overused, overrated, and completely pointless for direct software->software communication (as opposed to human->software or software->human).If dbg is a library, whenever the debugger hangs or crashes, the IDE also hangs or crashes and you may loose all your data. It is much safer to have dbg as a server and have an IDE plugin as a client.Fair enough. JSON still doesn't sound like a very effective way to communicate with.
Jan 28 2014
On 28/01/2014 03:00, Sarath Kodali wrote:On Monday, 27 January 2014 at 18:10:03 UTC, Alexander Bothe wrote:Ok, going on the contrarian view here, but if those are your supported OSes/compiler, isn't that need fairly adequately filled by GDB at the moment? Why start work on a whole new compiler? Particularly, the Windows debugging scene for D is much more lacking than Linux, so I'm failing to see why all the enthusiasm around here...Which OSs are supported? Which compilers are supported, which debug info base is used? Is the info directly extracted from the executable aka Dwarf/CV4/PDB support? The sample debug session looks cool, so I'd really like to know this to estimate whether it's worth to integrate it into Mono-D or other IDEs :-)Next month I will be releasing an alpha version with support for Linux, x86, Elf+Dwarf, DMD and GCC. But in the coming months I will add support for other 64 bit OSes and compilers. I'm also planning to add a JSON or CSV output format so that it will be easy to parse the output when integrating with IDEs. So I would recommend that you wait till I release 1.0 version - sometime before Dconf 2014 - hopefully! Thanks for the interest, Sarath
Feb 06 2014
On 28/01/2014 03:00, Sarath Kodali wrote:On Monday, 27 January 2014 at 18:10:03 UTC, Alexander Bothe wrote:Ok, going on the contrarian view here, but if those are your supported OSes/compiler, isn't that need fairly adequately filled by GDB at the moment? Why start work on a whole new debugger? Particularly since the Windows debugging scene for D is much more lacking than Linux, so I'm failing to see why all the enthusiasm around here...Which OSs are supported? Which compilers are supported, which debug info base is used? Is the info directly extracted from the executable aka Dwarf/CV4/PDB support? The sample debug session looks cool, so I'd really like to know this to estimate whether it's worth to integrate it into Mono-D or other IDEs :-)Next month I will be releasing an alpha version with support for Linux, x86, Elf+Dwarf, DMD and GCC. But in the coming months I will add support for other 64 bit OSes and compilers. I'm also planning to add a JSON or CSV output format so that it will be easy to parse the output when integrating with IDEs. So I would recommend that you wait till I release 1.0 version - sometime before Dconf 2014 - hopefully! Thanks for the interest, Sarath
Feb 06 2014
On Monday, 27 January 2014 at 16:42:14 UTC, Sarath Kodali wrote: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);Would you mind putting the line number in the same line as the file name? I'm working on a debugger plugin for Vim, and I would obviously want to support your debugger once it's released. I find it easy to interpret the debugger output line by line, and it really makes things hard when I have to join data from multiple lines... You said you want to add JSON and\or CSV output formats, Vim doesn't support JSON natively and CSV is still multiple lines. So, if it wouldn't be too hard having data in the same line can be really be helpful! This is also true when printing values - having the expression and the result printed at the same line makes things easier to interpret. BTW, would you mind picking a different name? I understand that "dbg" stands for "D Debugger", but there is already a debugger named "dbg"(http://www.php-debugger.com/dbg/) and with a name so generic I would be surprised if there aren't other debuggers with that name...
Jan 28 2014
On Tuesday, 28 January 2014 at 15:23:28 UTC, Idan Arye wrote:On Monday, 27 January 2014 at 16:42:14 UTC, Sarath Kodali wrote: BTW, would you mind picking a different name? I understand that "dbg" stands for "D Debugger", but there is already a debugger named "dbg"(http://www.php-debugger.com/dbg/) and with a name so generic I would be surprised if there aren't other debuggers with that name...In the event that you take Idan's advice, I just want to be the first to come up with a lame naming suggestion. smackD I thought I was being very original with that one, but of course there is already a similarly named product used for Java in Eclipse: http://blog.teamextension.com/smack-enhanced-debugger-1278 but not being a Java person I have no idea if that is a popular product at all.
Jan 28 2014
On Tuesday, 28 January 2014 at 15:23:28 UTC, Idan Arye wrote:On Monday, 27 January 2014 at 16:42:14 UTC, Sarath Kodali wrote:The output is configurable, independent of JSON or CSV, and this is just one form. I will make it as easy of possible for plug-ins to parse the output.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);Would you mind putting the line number in the same line as the file name? I'm working on a debugger plugin for Vim, and I would obviously want to support your debugger once it's released. I find it easy to interpret the debugger output line by line, and it really makes things hard when I have to join data from multiple lines... You said you want to add JSON and\or CSV output formats, Vim doesn't support JSON natively and CSV is still multiple lines. So, if it wouldn't be too hard having data in the same line can be really be helpful! This is also true when printing values - having the expression and the result printed at the same line makes things easier to interpret.BTW, would you mind picking a different name? I understand that "dbg" stands for "D Debugger", but there is already a debugger named "dbg"(http://www.php-debugger.com/dbg/) and with a name so generic I would be surprised if there aren't other debuggers with that name...I did not do any research on name; just shortened "debug" to "dbg" :) I'm bad at coming up with good names, so any suggestions are always welcome. - Sarath
Jan 28 2014
On 01/28/2014 12:00 PM, Sarath Kodali wrote:I did not do any research on name; just shortened "debug" to "dbg" :) I'm bad at coming up with good names, so any suggestions are always welcome.bugD :)
Jan 28 2014
On Tuesday, 28 January 2014 at 22:04:34 UTC, John J wrote:On 01/28/2014 12:00 PM, Sarath Kodali wrote:buggeD?I did not do any research on name; just shortened "debug" to "dbg" :) I'm bad at coming up with good names, so any suggestions are always welcome.bugD :)
Jan 28 2014
On 01/28/2014 06:04 PM, Francesco Cattoglio wrote:On Tuesday, 28 January 2014 at 22:04:34 UTC, John J wrote:Yes, the bugD pronounced as bugged! :)On 01/28/2014 12:00 PM, Sarath Kodali wrote:buggeD?I did not do any research on name; just shortened "debug" to "dbg" :) I'm bad at coming up with good names, so any suggestions are always welcome.bugD :)
Jan 28 2014
I did not do any research on name; just shortened "debug" to "dbg" :) I'm bad at coming up with good names, so any suggestions are always welcome. - SarathD!buger
Jan 28 2014
On Wednesday, 29 January 2014 at 00:07:00 UTC, Namespace wrote:Too complicated, keep it simple. Maybe Dug, which stands for D Debug.I did not do any research on name; just shortened "debug" to "dbg" :) I'm bad at coming up with good names, so any suggestions are always welcome. - SarathD!buger
Jan 28 2014
On 1/28/14 4:26 PM, Meta wrote:On Wednesday, 29 January 2014 at 00:07:00 UTC, Namespace wrote:noiceToo complicated, keep it simple. Maybe Dug, which stands for D Debug.I did not do any research on name; just shortened "debug" to "dbg" :) I'm bad at coming up with good names, so any suggestions are always welcome. - SarathD!buger
Jan 28 2014
On Wednesday, 29 January 2014 at 07:06:43 UTC, Andrei Alexandrescu wrote:On 1/28/14 4:26 PM, Meta wrote:http://www.noicedebugger.com/ already exists!On Wednesday, 29 January 2014 at 00:07:00 UTC, Namespace wrote:noiceToo complicated, keep it simple. Maybe Dug, which stands for D Debug.I did not do any research on name; just shortened "debug" to "dbg" :) I'm bad at coming up with good names, so any suggestions are always welcome. - SarathD!buger
Jan 29 2014
On Wednesday, 29 January 2014 at 16:20:33 UTC, Sarath Kodali wrote:On Wednesday, 29 January 2014 at 07:06:43 UTC, Andrei Alexandrescu wrote:I like bugD :o)On 1/28/14 4:26 PM, Meta wrote:http://www.noicedebugger.com/ already exists!On Wednesday, 29 January 2014 at 00:07:00 UTC, Namespace wrote:noiceToo complicated, keep it simple. Maybe Dug, which stands for D Debug.I did not do any research on name; just shortened "debug" to "dbg" :) I'm bad at coming up with good names, so any suggestions are always welcome. - SarathD!buger
Jan 29 2014
On Wednesday, 29 January 2014 at 16:33:47 UTC, Gary Willoughby wrote:On Wednesday, 29 January 2014 at 16:20:33 UTC, Sarath Kodali wrote:d-buggerOn Wednesday, 29 January 2014 at 07:06:43 UTC, Andrei Alexandrescu wrote:I like bugD :o)On 1/28/14 4:26 PM, Meta wrote:http://www.noicedebugger.com/ already exists!On Wednesday, 29 January 2014 at 00:07:00 UTC, Namespace wrote:noiceToo complicated, keep it simple. Maybe Dug, which stands for D Debug.I did not do any research on name; just shortened "debug" to "dbg" :) I'm bad at coming up with good names, so any suggestions are always welcome. - SarathD!buger
Jan 29 2014
On Wednesday, 29 January 2014 at 16:45:20 UTC, Andrea Fontana wrote:On Wednesday, 29 January 2014 at 16:33:47 UTC, Gary Willoughby wrote:That'll give anyone from the UK a good laugh.On Wednesday, 29 January 2014 at 16:20:33 UTC, Sarath Kodali wrote:d-buggerOn Wednesday, 29 January 2014 at 07:06:43 UTC, Andrei Alexandrescu wrote:I like bugD :o)On 1/28/14 4:26 PM, Meta wrote:http://www.noicedebugger.com/ already exists!On Wednesday, 29 January 2014 at 00:07:00 UTC, Namespace wrote:noiceToo complicated, keep it simple. Maybe Dug, which stands for D Debug.I did not do any research on name; just shortened "debug" to "dbg" :) I'm bad at coming up with good names, so any suggestions are always welcome. - SarathD!buger
Jan 29 2014
On Wednesday, 29 January 2014 at 16:55:40 UTC, Meta wrote:On Wednesday, 29 January 2014 at 16:45:20 UTC, Andrea Fontana wrote::) Maybe d-bugging works betterOn Wednesday, 29 January 2014 at 16:33:47 UTC, Gary Willoughby wrote:That'll give anyone from the UK a good laugh.On Wednesday, 29 January 2014 at 16:20:33 UTC, Sarath Kodali wrote:d-buggerOn Wednesday, 29 January 2014 at 07:06:43 UTC, Andrei Alexandrescu wrote:I like bugD :o)On 1/28/14 4:26 PM, Meta wrote:http://www.noicedebugger.com/ already exists!On Wednesday, 29 January 2014 at 00:07:00 UTC, Namespace wrote:noiceToo complicated, keep it simple. Maybe Dug, which stands for D Debug.I did not do any research on name; just shortened "debug" to "dbg" :) I'm bad at coming up with good names, so any suggestions are always welcome. - SarathD!buger
Jan 29 2014
On Wed, 2014-01-29 at 16:55 +0000, Meta wrote:On Wednesday, 29 January 2014 at 16:45:20 UTC, Andrea Fontana[…]Sort of. Remember bugger is colloquially a general purpose expletive as well as being a synonym for sodomy. -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.net 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winderd-buggerThat'll give anyone from the UK a good laugh.
Jan 29 2014
On Wed, 2014-01-29 at 16:45 +0000, Andrea Fontana wrote: […]d-buggerYou may want to belay that suggestion: http://en.wikipedia.org/wiki/Bugger http://www.thefreedictionary.com/bugger http://www.oxforddictionaries.com/definition/english/bugger http://www.urbandictionary.com/define.php?term=bugger -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.net 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jan 29 2014
On Wed, 29 Jan 2014 17:03:59 +0000, Russel Winder wrote:On Wed, 2014-01-29 at 16:45 +0000, Andrea Fontana wrote: […]bugger-d Do it for the LOLsd-buggerYou may want to belay that suggestion: http://en.wikipedia.org/wiki/Bugger http://www.thefreedictionary.com/bugger http://www.oxforddictionaries.com/definition/english/bugger http://www.urbandictionary.com/define.php?term=bugger
Jan 29 2014
On 1/29/14 8:20 AM, Sarath Kodali wrote:On Wednesday, 29 January 2014 at 07:06:43 UTC, Andrei Alexandrescu wrote:"noice" = "nice" in Australian, i.e. I meant I like "Dug". See also http://bostondanceparty.deviantart.com/art/Australia-162070359 AndreiOn 1/28/14 4:26 PM, Meta wrote:http://www.noicedebugger.com/ already exists!On Wednesday, 29 January 2014 at 00:07:00 UTC, Namespace wrote:noiceToo complicated, keep it simple. Maybe Dug, which stands for D Debug.I did not do any research on name; just shortened "debug" to "dbg" :) I'm bad at coming up with good names, so any suggestions are always welcome. - SarathD!buger
Jan 29 2014
+1. Same name I thought of :) On Wed, Jan 29, 2014 at 2:26 AM, Meta <jared771 gmail.com> wrote:On Wednesday, 29 January 2014 at 00:07:00 UTC, Namespace wrote:I did not do any research on name; just shortened "debug" to "dbg" :)Too complicated, keep it simple. Maybe Dug, which stands for D Debug.I'm bad at coming up with good names, so any suggestions are always welcome. - SarathD!buger
Jan 28 2014
Great minds think alike ;-) On Wednesday, 29 January 2014 at 07:07:25 UTC, Rory McGuire wrote:+1. Same name I thought of :) On Wed, Jan 29, 2014 at 2:26 AM, Meta <jared771 gmail.com> wrote:On Wednesday, 29 January 2014 at 00:07:00 UTC, Namespace wrote:I did not do any research on name; just shortened "debug" to "dbg" :)Too complicated, keep it simple. Maybe Dug, which stands for D Debug.I'm bad at coming up with good names, so any suggestions are always welcome. - SarathD!buger
Jan 29 2014
On 01/28/2014 07:26 PM, Meta wrote:On Wednesday, 29 January 2014 at 00:07:00 UTC, Namespace wrote:Dug sounds good!Too complicated, keep it simple. Maybe Dug, which stands for D Debug.I did not do any research on name; just shortened "debug" to "dbg" :) I'm bad at coming up with good names, so any suggestions are always welcome. - SarathD!buger
Jan 29 2014
On Wednesday, 29 January 2014 at 00:07:00 UTC, Namespace wrote:"!" is not a valid character for filenames, and that can be a problem when you want to... you know... name the executable. It can always be named "Dbangbugger", but that's a bit cumbersome... maybe "Dbanger"? Eh... probably not a good idea...I did not do any research on name; just shortened "debug" to "dbg" :) I'm bad at coming up with good names, so any suggestions are always welcome. - SarathD!buger
Jan 28 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:Do you know ngdb (https://github.com/MartinNowak/ngdb)? It might be helpful for your implementation.
Jan 28 2014
On Wednesday, 29 January 2014 at 01:13:12 UTC, Martin Nowak wrote:On Monday, 27 January 2014 at 16:42:14 UTC, Sarath Kodali wrote:Thanks for the link, I will take a look. Is this a working debugger? - SarathI'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:Do you know ngdb (https://github.com/MartinNowak/ngdb)? It might be helpful for your implementation.
Jan 28 2014
On 01/29/2014 07:37 AM, Sarath Kodali wrote:Thanks for the link, I will take a look. Is this a working debugger?Kind of ;), I'm not the original author, but I fixed the build and tried to improve it a little. Although I no longer plan to work on this, the existing code might be helpful because it's a fairly simple/straightforward implementation.
Jan 30 2014