A simple VS Code debug adapter for mono
Перейти к файлу
Alexander Köplinger 488eff1234 Don't use MONO_ENV_OPTIONS to pass debug options by default
It causes issues when starting subprocesses.
Fixes https://github.com/microsoft/vscode-mono-debug/issues/68
2020-10-09 20:14:28 +02:00
.github/workflows Fix name of uploaded VSIX 2020-10-07 20:28:03 +02:00
.vscode fix debug target name 2017-06-15 17:31:41 +02: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 Don't use MONO_ENV_OPTIONS to pass debug options by default 2020-10-09 20:14:28 +02:00
testdata Move CI to GitHub Actions, use modern .NET project (#67) 2020-10-07 20:21:54 +02:00
.eslintrc.yml Update more npm packages, TypeScript and commit package-lock.json 2020-10-07 14:00:32 +02:00
.gitignore Move CI to GitHub Actions, use modern .NET project (#67) 2020-10-07 20:21:54 +02:00
.gitmodules Use mono source for debugger-libs (#64) 2020-07-20 14:31:13 +02:00
.vscodeignore support exception configuration 2017-03-22 22:33:38 +01:00
CHANGELOG.md Don't use MONO_ENV_OPTIONS to pass debug options by default 2020-10-09 20:14:28 +02:00
LICENSE.txt Updating license to standard Microsoft header. 2015-11-23 17:52:04 -08:00
Makefile Move CI to GitHub Actions, use modern .NET project (#67) 2020-10-07 20:21:54 +02:00
README.md Updated the README as per https://github.com/Microsoft/vscode-mono-debug/issues/30. (#51) 2020-10-08 00:27:42 +02:00
ThirdPartyNotices.txt Move CI to GitHub Actions, use modern .NET project (#67) 2020-10-07 20:21:54 +02:00
package-lock.json Don't use MONO_ENV_OPTIONS to pass debug options by default 2020-10-09 20:14:28 +02:00
package.json Don't use MONO_ENV_OPTIONS to pass debug options by default 2020-10-09 20:14:28 +02:00
package.nls.json Don't use MONO_ENV_OPTIONS to pass debug options by default 2020-10-09 20:14:28 +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 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 https://github.com/microsoft/vscode-mono-debug

To build the extension vsix, run:

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