A simple VS Code debug adapter for mono
Перейти к файлу
Alexander Köplinger c5d03e62f7 Update more npm packages, TypeScript and commit package-lock.json 2020-10-07 14:00:32 +02:00
.nuget Fix issue with Nuget Config on osx 2017-05-19 11:07:58 -07:00
.vscode fix debug target name 2017-06-15 17:31:41 +02:00
Properties update date 2016-02-21 01:55:37 +01:00
external Use mono source for debugger-libs (#64) 2020-07-20 14:31:13 +02:00
images image resize 2017-06-14 13:52:44 -07:00
src Update more npm packages, TypeScript and commit package-lock.json 2020-10-07 14:00:32 +02:00
testdata make F# test more robust 2017-06-16 16:45:44 +02:00
.eslintrc.yml Update more npm packages, TypeScript and commit package-lock.json 2020-10-07 14:00:32 +02:00
.gitignore Update more npm packages, TypeScript and commit package-lock.json 2020-10-07 14:00:32 +02:00
.gitmodules Use mono source for debugger-libs (#64) 2020-07-20 14:31:13 +02:00
.travis.yml Update more npm packages, TypeScript and commit package-lock.json 2020-10-07 14:00:32 +02:00
.vscodeignore support exception configuration 2017-03-22 22:33:38 +01:00
CHANGELOG.md Update changelog and bump version 2020-10-06 20:34:01 +02:00
LICENSE.txt Updating license to standard Microsoft header. 2015-11-23 17:52:04 -08:00
Makefile Add fsharp tests 2017-05-19 11:59:06 -07:00
README.md add windows screenshot 2017-02-28 15:06:53 +01:00
ThirdPartyNotices.txt Update ThirdPartyNotices.txt 2015-11-17 15:51:18 -08:00
mono-debug.csproj Use mono source for debugger-libs (#64) 2020-07-20 14:31:13 +02:00
mono-debug.sln Use mono source for debugger-libs (#64) 2020-07-20 14:31:13 +02:00
package-lock.json Update more npm packages, TypeScript and commit package-lock.json 2020-10-07 14:00:32 +02:00
package.json Update more npm packages, TypeScript and commit package-lock.json 2020-10-07 14:00:32 +02:00
package.nls.json Update more npm packages, TypeScript and commit package-lock.json 2020-10-07 14:00:32 +02:00
packages.config Use mono source for debugger-libs (#64) 2020-07-20 14:31:13 +02:00

README.md

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 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
$ npm install
$ make