Mono Debugger, now with 2.0 support

by Miguel de Icaza

Last week, Martin Baulig announced that the debugger in trunk adds supports to many 2.0 features, our last major feature missing in the debugger.

The biggest news is that the debugger now has support for C# 2.0
features such as generics, anonymous methods and iterators:

  * We can currently print fields in generic instances, print their
    types and parent classes.

  * Recursive generic types (see test/src/TestRecursiveGenerics.cs for
    an example) are supported, but need more testing.

  * There is some limited support for method invocations, but we can't
    get their types yet.

  * Support for anonymous methods and iterators should now be pretty
    much complete; we can fully access captured variables etc.

To try out the updated debugger in trunk, you must use Mono from trunk. With this code in place, we have now started the work to integrate it into MonoDevelop.

MonoDevelop 1.1 (due in six months) will have support for the debugger.

Remote Debugging

Additionally, Harald announced that they have modified the Mono Debugger to support remote debugging (useful for debugging embedded systems for instance).

They wrote a detailed document on the architecture for their remote debugging framework.

Their work is now licensed under the MIT X11 license, which will allow us to integrate this directly into the Mono and Mono Debugger distributions.

Posted on 19 Mar 2008