Navigation

Enabling the Debugger

From MonoDevelop

Note: The Debugger Addin is currently NOT working in MonoDevelop


Table of contents

Intro

The Debugger add-in, as you might suspect, provides a Mono Debugger front-end for MonoDevelop. It's not quite ready for primetime, but as there have been many inquiries about how to enable the debugger add-in, the following instructions should help get you there (barring the occasional broken code/inconsistent versions from Subversion).

Prerequisites

  • Linux: Unless you're running Red Hat 9, you'll need kernel 2.6.x (or higher) and glibc 2.3.x (or higher) compiled with support for the Native POSIX Thread Library (NPTL). See Mono Debugger's README.build file.
  • FreeBSD: You'll need kernel threads, so grab the LinuxThreads package from ports and follow the instructions in Mono Debugger's README.FreeBSD file.
  • The latest Mono and mcs from the Mono Subversion repository (http://svn.myrealbox.com/viewcvs/trunk/). If you didn't already have one of the two threading-related dependencies (mentioned above) before you compiled and installed Mono, you must recompile and reinstall Mono/mcs after meeting the requirements.
  • Editline (http://freshmeat.net/projects/editline/) or Readline (ftp://ftp.gnu.org/gnu/readline/) must be installed.

Prep

NOTE For latest MonoDevelop svn versions you can simply autogen with --enable-debugger=yes For older (I think - pre mono 1.1.4) versions follow this intructions.

Grab the latest MonoDevelop from the MonoDevelop Subversion repository. If you have an existing MonoDevelop build in the directory you checked out to, make sure to issue a make clean.

Open the file MonoDevelop/configure.in in a text editor and locate the following section:

dnl find mono debugger
dnl MONO_DEBUGGER_REQUIRED_VERSION=0.9
dnl PKG_CHECK_MODULES(MONO_DEBUGGER, mono-debugger >= $MONO_DEBUGGER_REQUIRED_VERSION, enable_debugger=yes, enable_debugger=no)
dnl AC_SUBST(MONO_DEBUGGER_LIBS)
enable_debugger=no

Remove the dnl keyword from the beginning of each line and change the enable_debugger value to yes. The result should look like:

find mono debugger
MONO_DEBUGGER_REQUIRED_VERSION=0.9
PKG_CHECK_MODULES(MONO_DEBUGGER, mono-debugger >= $MONO_DEBUGGER_REQUIRED_VERSION, enable_debugger=yes, enable_debugger=no)
AC_SUBST(MONO_DEBUGGER_LIBS)
enable_debugger=yes

Save your changes.

Build, install and run

Change into the MonoDevelop/ directory. If you want Mono Debugger to use Editline, do:

./autogen.sh --prefix=/usr

Or if you want it to use Readline instead, do:

./autogen.sh --prefix=/usr --disable-editline

(Substitute --prefix=/usr with whatever particular shared folder your system uses.)

Next, build MonoDevelop:

make

And finally, if you don't wish to install MonoDevelop at this point, you may run the fresh build by issuing:

make run

Otherwise, do:

su
make install

then launch MonoDevelop normally.

If all went well, happy debugging!