A simple VS Code debug adapter for mono
Перейти к файлу
dependabot[bot] 8acfbd2197
Bump braces from 3.0.2 to 3.0.3 (#98)
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-17 13:25:45 +02:00
.github/workflows Update permissions in build.yml (#95) 2024-01-08 16:35:43 +01: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 Update src/csharp/MonoDebugSession.cs 2022-08-08 11:40:40 -03: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 Update CHANGELOG.md 2022-08-08 17:41:52 -03: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 README.md git clone cmd gets submodules (#71) 2021-04-06 14:48:13 +02:00
SECURITY.md Microsoft mandatory file (#86) 2022-05-17 10:36:13 +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 Bump braces from 3.0.2 to 3.0.3 (#98) 2024-06-17 13:25:45 +02:00
package.json Bump minimatch and mocha (#91) 2022-11-10 17:46:10 +01: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 --recursive https://github.com/microsoft/vscode-mono-debug

To build the extension vsix, run:

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