Difference between revisions of "Debuggers"

From D Wiki
Jump to: navigation, search
(Debugging support by compiler and platform:)
(cleaned up debugging support table)
Line 1: Line 1:
  
== Debugging support by compiler and platform: ==
+
== Debugging support by compiler: ==
  
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Compiler/Platform
+
! Compiler+Platform
 
! Format
 
! Format
 
! Debugger
 
! Debugger
 
! Supported functionality
 
! Supported functionality
 
|-
 
|-
| '''DMD-Win32'''  
+
|rowspan="3"| '''DMD-Win32'''  
| OMF
+
|rowspan="3"| OMF
| [http://www.dsource.org/projects/visuald VisualD (VisualStudio)]
+
| [http://www.dsource.org/projects/visuald Mago/VisualD (VisualStudio)]
 
| Good support: Breakpoints; Stack frames; Mostly pretty names ('.' shows up as '@'); Variable inspection;
 
| Good support: Breakpoints; Stack frames; Mostly pretty names ('.' shows up as '@'); Variable inspection;
 
|-
 
|-
| '''DMD-Win32'''
 
| OMF
 
 
| [http://dlang.org/download.html WinDbg]
 
| [http://dlang.org/download.html WinDbg]
 
| Supplied with the main D compiler zip file download. [http://dlang.org/windbg.html Overview]
 
| Supplied with the main D compiler zip file download. [http://dlang.org/windbg.html Overview]
 
|-
 
|-
| '''DMD-Win32'''
 
| OMF
 
 
| [http://ddbg.mainia.de ddbg]
 
| [http://ddbg.mainia.de ddbg]
 
| Doesn't seem to be working well. Project no longer maintained.
 
| Doesn't seem to be working well. Project no longer maintained.
Line 30: Line 26:
 
| TODO: same level of support as for win32?
 
| TODO: same level of support as for win32?
 
|-
 
|-
| '''DMD-Linux'''  
+
|rowspan="2"|
| DWARF
+
'''DMD-Linux''' <br/>
| GDB
+
'''GDC-Linux''' <br/>
| same as GDC-Linux?
+
'''LDC-Linux''' <br/>
|-
+
'''GDC-Win32/64'''
| '''GDC-Win32/64'''
+
|rowspan="2"| DWARF
'''GDC-Linux'''
+
| [https://sourceware.org/gdb/onlinedocs/gdb/D.html#D GDB]
| DWARF
 
| GDB
 
 
| Good support: Breakpoints; Stack frames; Pretty names; Variable inspection;
 
| Good support: Breakpoints; Stack frames; Pretty names; Variable inspection;
 
|-
 
|-
| any?
 
| DWARF
 
 
| [http://zerobugs.codeplex.com/ ZeroBUGS]
 
| [http://zerobugs.codeplex.com/ ZeroBUGS]
 
| "Modular debugger for C/C++/D programming languages (and virtually anything else that supports Stabs/DWARF debug formats)". Supported debugging functionality??
 
| "Modular debugger for C/C++/D programming languages (and virtually anything else that supports Stabs/DWARF debug formats)". Supported debugging functionality??
 
|-
 
|-
| '''GDC-MacOS'''  
+
| '''LDC-MinGW'''
| ?
+
| DWARF
 +
| -
 +
| DWARF debug symbol info seems to be broken for LLVM compiled with MinGW  [http://forum.dlang.org/post/qsttkqzbtnhyrogekppn@forum.dlang.org note]
 +
|-
 +
|rowspan="2"|
 +
'''DMD-MacOS''' <br/>
 +
'''GDC-MacOS''' <br/>
 +
'''LDC-MacOS'''  
 +
|rowspan="2"| ?
 
| GDB
 
| GDB
 
| Limited/outdated support? According to Jacob Carlberg:
 
| Limited/outdated support? According to Jacob Carlberg:
Line 53: Line 53:
 
"Line numbers don't work."
 
"Line numbers don't work."
 
|-
 
|-
| '''LDC'''
 
| ?
 
 
| LLDB
 
| LLDB
 
| ?
 
| ?
|-
 
| '''Win32'''
 
| ?
 
| [http://dsource.org/projects/mago_debugger Mago]
 
| Mago Debugger is a set of libraries and a Visual Studio plug-in for debugging D programs on Windows. The main goal is to provide a complete Windows debugger dedicated to the D programming language.
 
 
|}
 
|}
  

Revision as of 18:52, 9 April 2014

Debugging support by compiler:

Compiler+Platform Format Debugger Supported functionality
DMD-Win32 OMF Mago/VisualD (VisualStudio) Good support: Breakpoints; Stack frames; Mostly pretty names ('.' shows up as '@'); Variable inspection;
WinDbg Supplied with the main D compiler zip file download. Overview
ddbg Doesn't seem to be working well. Project no longer maintained.
DMD-Win64 COFF VisualD (VisualStudio) TODO: same level of support as for win32?

DMD-Linux
GDC-Linux
LDC-Linux
GDC-Win32/64

DWARF GDB Good support: Breakpoints; Stack frames; Pretty names; Variable inspection;
ZeroBUGS "Modular debugger for C/C++/D programming languages (and virtually anything else that supports Stabs/DWARF debug formats)". Supported debugging functionality??
LDC-MinGW DWARF - DWARF debug symbol info seems to be broken for LLVM compiled with MinGW note

DMD-MacOS
GDC-MacOS
LDC-MacOS

? GDB Limited/outdated support? According to Jacob Carlberg:

"D symbols need to be prefixed with an extra underscore." "Line numbers don't work."

LLDB ?

Graphical debugger frontends:

Frontends providing support to a command-line debugger mentioned in the previous section.


Title / InfoDescriptionLicensePlatform
Icon dpackage 48.png
MonoDeveloped-based full D IDE. Has integration with the GDB debugger. "Debugging (using MonoDevelop’s integrated gdb support on Linux currently)"  ? Linux only?
Icon dpackage 48.png
Eclipse-based IDE. Has fully working integration with the GDB debugger, including D support. (Debugging support is based on Eclipse CDT.) EPL Linux, Windows, MacOS
Icon dpackage 48.png
Graphical frontend to the GDB debugger, which supports full D syntax from version 7.2. GPL Linux
Icon dpackage 48.png
Command line frontend to the GDB debugger, which supports full D syntax from version 7.2.Shows code and the GDB console in split windows. GPL Linux, MacOS
Icon dpackage 48.png
GNU DDD is a graphical front-end for command-line debuggers such as GDB. Usual front-end features such as viewing source code, viewing variables, etc. GPL Linux
Icon dpackage 48.png
Affinic Debugger GUI .aka. ADG, is designed as a graphical user interface for various debuggers. This version is specifically targeted on GDB, the GNU debugger. Affinic Technology EULA Linux, Windows, MacOS