Mono comes with two Mono-specific debuggers: a hard debugger and a soft debugger, additionally, you can use the Unix GDB debugger with Mono to debug low level problems, more information on these debuggers is available here:
- Soft Debugger
- Recommended debugger engine, requires Mono 2.6 + MonoDevelop 2.2
- Only debugs pure managed applications
- Moonlight, ASP.NET, Gtk#, iPhone and remote debugging supported
- Hard Debugger
- Works with Mono 2.4, 2.6 and requires MonoDevelop 2.2
- Debugs both managed and unmanaged applications
- Only supports GUI and Console applications from Unix
- Can debug ASP.NET applications while using Visual Studio
- Low-level debugging with GDB
Both the soft debugger and the hard debugger are supported by the MonoDevelop IDE 2.2, but only the hard debugger has a Unix command-line interface (mdb). If you are a Mono 2.6+ user, we strongly recommend the use of the soft debugger.
MonoTools for Visual Studio 1.0 supports the Hard Debugger interface, and MonoTools for Visual Studio 2.0 introduces support for the Soft Debugger as well.
Debugger bug tracking: