/vscode-mono-debug

A simple VS Code debug adapter for mono

Primary LanguageC#OtherNOASSERTION

VS Code Mono Debug

A simple VS Code debug extension for the Mono VM. It is based on the SDB command line debugger.

Mono Debug was already bundled with VS Code up to version 0.10.9. Starting with VS Code 0.10.10 you will have to install this extension for debugging Mono programs.

Please note that this extension only works on OS X and linux because the underlying SDB command line debugger does not support Windows.

Installing Mono

On Linux or OS X, the Mono debugging support of VS Code requires Mono version 3.12 or later.

You can either download the latest Mono version for Linux or OS X at Mono project or you can use your package manager.

  • On OS X: brew install mono
  • On Linux: sudo apt-get install mono-complete

Enable Mono debugging

To enable debugging of Mono based C# (and F#) programs, you have to pass the -debug option to the compiler:

mcs -debug Program.cs

If you want to attach the VS Code debugger to a Mono program, pass these additional arguments to the Mono runtime:

mono --debug --debugger-agent=transport=dt_socket,server=y,address=127.0.0.1:55555 Program.exe

The corresponding attach launch.json configuration looks like this:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Attach to Mono",
            "request": "attach",
            "type": "mono",
            "address": "localhost",
            "port": 55555
        }
    ]
}

Building the mono-debug extension

build status

Building and using VS Code mono-debug requires a basic POSIX-like environment, a Bash-like shell, and an installed Mono framework.

First, clone the mono-debug project:

$ git clone https://github.com/Microsoft/vscode-mono-debug

To build the extension vsix, run:

$ cd vscode-mono-debug
$ make