Skip to content

microsoft/vscode-mono-debug

Folders and files

NameName
Last commit message
Last commit date

Latest commit

3bf0119 · Mar 29, 2025
Mar 29, 2025
Mar 29, 2025
Mar 29, 2025
Jun 14, 2017
Aug 8, 2022
Oct 7, 2020
Oct 7, 2020
Oct 7, 2020
Mar 29, 2025
Mar 22, 2017
Aug 8, 2022
Nov 24, 2015
Mar 29, 2025
Mar 29, 2025
Apr 6, 2021
May 17, 2022
Oct 7, 2020
Mar 29, 2025
Mar 29, 2025
Oct 9, 2020

Repository files navigation

VS Code Mono Debug

A simple VS Code debugger extension for the Mono VM. Its implementation was inspired by the SDB command line debugger.

Mono Debug

Installing Mono

You can either download the latest Mono version for Linux, macOS, or Windows at the Mono project website or you can use your package manager.

  • On OS X: brew install mono
  • On Ubuntu, Debian, Raspbian: sudo apt-get install mono-complete
  • On CentOS: yum install mono-complete
  • On Fedora: dnf 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:

csc -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 --recursive https://github.com/microsoft/vscode-mono-debug

To build the extension vsix, run:

$ cd vscode-mono-debug
$ npm install
$ make