Add and document why mono debugger doesn't work
This commit is contained in:
parent
a894ae0126
commit
a4db7008df
3 changed files with 116 additions and 26 deletions
72
README.md
72
README.md
|
|
@ -85,6 +85,11 @@ of hackery that makes it challenging to support generally. These languages are
|
||||||
on a best-efforts basis:
|
on a best-efforts basis:
|
||||||
|
|
||||||
- Java (see caveats)
|
- Java (see caveats)
|
||||||
|
- C# (c-sharp) using dotnet core
|
||||||
|
|
||||||
|
## Languages known not to work
|
||||||
|
|
||||||
|
- C# (c-sharp) using mono debug adapter (vimspector unable to set breakpoints)
|
||||||
|
|
||||||
## Other languages
|
## Other languages
|
||||||
|
|
||||||
|
|
@ -145,12 +150,14 @@ RHEL 7.6.
|
||||||
|
|
||||||
The debug adapters themselves have certain runtime dependencies:
|
The debug adapters themselves have certain runtime dependencies:
|
||||||
|
|
||||||
| Language | Switch | Adapter | Dependencies |
|
| Language | Status | Switch | Adapter | Dependencies |
|
||||||
|--------------|-------------------|-------------------|------------------------|
|
|------------------|--------------|------------------------------|-------------------|------------------------|
|
||||||
| C, C++, etc. | `--enable-c` | vscode-cpptools | mono-core |
|
| C, C++, etc. | Supported | `--all` or ` --enable-c` | vscode-cpptools | mono-core |
|
||||||
| Python | `--enable-python` | vscode-python | Python 2.7 or Python 3 |
|
| Python | Supported | `--all` or `--enable-python` | vscode-python | Python 2.7 or Python 3 |
|
||||||
| TCL | `--enable-tcl` | tclpro | TCL 8.5 |
|
| TCL | Experimental | `--all` or `--enable-tcl` | tclpro | TCL 8.5 |
|
||||||
| Bourne Shell | `--enable-bash` | vscode-bash-debug | Bash v?? |
|
| Bourne Shell | Experimental | `--all` or `--enable-bash` | vscode-bash-debug | Bash v?? |
|
||||||
|
| C# (dotnet core) | Experimental | `--force-enable-csharp` | netcoredbg | DotNet core |
|
||||||
|
| C# (mono) | Experimental | `--force-enable-csharp` | vscode-mono-debug | Mono |
|
||||||
|
|
||||||
For other languages, you'll need some other way to install the gadget.
|
For other languages, you'll need some other way to install the gadget.
|
||||||
|
|
||||||
|
|
@ -525,6 +532,53 @@ Example `.vimspector.json`
|
||||||
|
|
||||||
See [my fork of TclProDebug](https://github.com/puremourning/TclProDebug) for instructions.
|
See [my fork of TclProDebug](https://github.com/puremourning/TclProDebug) for instructions.
|
||||||
|
|
||||||
|
* C# - dotnet core
|
||||||
|
|
||||||
|
Requires `install_gadget.py --force-enable-c-sharp`
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"configurations": {
|
||||||
|
"launch - netcoredbg": {
|
||||||
|
"adapter": "netcoredbg",
|
||||||
|
"configuration": {
|
||||||
|
"request": "launch",
|
||||||
|
"program": "${workspaceRoot}/bin/Debug/netcoreapp2.2/csharp.dll",
|
||||||
|
"args": [],
|
||||||
|
"stopAtEntry": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
* C# - mono
|
||||||
|
|
||||||
|
Requires `install_gadget.py --force-enable-c-sharp`.
|
||||||
|
|
||||||
|
***Known not to work.****
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"configurations": {
|
||||||
|
"launch - mono": {
|
||||||
|
"adapter": "vscode-mono-debug",
|
||||||
|
"configuration": {
|
||||||
|
"request": "launch",
|
||||||
|
"program": "${workspaceRoot}/bin/Debug/netcoreapp2.2/csharp.dll",
|
||||||
|
"args": [],
|
||||||
|
"cwd": "${workspaceRoot}",
|
||||||
|
"runtimeExecutable": "mono",
|
||||||
|
"runtimeArgs": [],
|
||||||
|
"env": [],
|
||||||
|
"externalConsole": false,
|
||||||
|
"console": "integratedTerminal"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
Also the mock debugger, but that isn't actually useful.
|
Also the mock debugger, but that isn't actually useful.
|
||||||
|
|
||||||
## Partially supported
|
## Partially supported
|
||||||
|
|
@ -538,12 +592,6 @@ Also the mock debugger, but that isn't actually useful.
|
||||||
on which it is listening. See [this issue](https://github.com/puremourning/vimspector/issues/3)
|
on which it is listening. See [this issue](https://github.com/puremourning/vimspector/issues/3)
|
||||||
for more background.
|
for more background.
|
||||||
|
|
||||||
## Unsupported
|
|
||||||
|
|
||||||
Known not to work:
|
|
||||||
* C-sharp. The license appears to require that it is only used with Visual
|
|
||||||
Studio Code.
|
|
||||||
|
|
||||||
# FAQ
|
# FAQ
|
||||||
|
|
||||||
1. Q: Does it work? A: Yeah, sort of. It's _incredibly_ buggy and unpolished.
|
1. Q: Does it work? A: Yeah, sort of. It's _incredibly_ buggy and unpolished.
|
||||||
|
|
|
||||||
|
|
@ -142,6 +142,35 @@ GADGETS = {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
'vscode-mono-debug': {
|
||||||
|
'language': 'csharp',
|
||||||
|
'enabled': False,
|
||||||
|
'download': {
|
||||||
|
'url': 'https://marketplace.visualstudio.com/_apis/public/gallery/'
|
||||||
|
'publishers/ms-vscode/vsextensions/mono-debug/${version}/'
|
||||||
|
'vspackage',
|
||||||
|
'target': 'vscode-mono-debug.tar.gz',
|
||||||
|
'format': 'tar',
|
||||||
|
},
|
||||||
|
'all': {
|
||||||
|
'file_name': 'vscode-mono-debug.vsix',
|
||||||
|
'version': '0.15.8',
|
||||||
|
'checksum':
|
||||||
|
'723eb2b621b99d65a24f215cb64b45f5fe694105613a900a03c859a62a810470',
|
||||||
|
},
|
||||||
|
'adapters': {
|
||||||
|
'vscode-mono-debug': {
|
||||||
|
"name": "mono-debug",
|
||||||
|
"command": [
|
||||||
|
"mono",
|
||||||
|
"${gadgetDir}/vscode-mono-debug/bin/Release/mono-debug.exe"
|
||||||
|
],
|
||||||
|
"attach": {
|
||||||
|
"pidSelect": "none"
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
'vscode-bash-debug': {
|
'vscode-bash-debug': {
|
||||||
'language': 'bash',
|
'language': 'bash',
|
||||||
'download': {
|
'download': {
|
||||||
|
|
@ -357,28 +386,34 @@ parser.add_argument( '--all',
|
||||||
action = 'store_true',
|
action = 'store_true',
|
||||||
help = 'Enable all completers' )
|
help = 'Enable all completers' )
|
||||||
|
|
||||||
|
done_languages = set()
|
||||||
for name, gadget in GADGETS.items():
|
for name, gadget in GADGETS.items():
|
||||||
|
lang = gadget[ 'language' ]
|
||||||
|
if lang in done_languages:
|
||||||
|
continue
|
||||||
|
|
||||||
|
done_languages.add( lang )
|
||||||
if not gadget.get( 'enabled', True ):
|
if not gadget.get( 'enabled', True ):
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--force-enable-' + gadget[ 'language' ],
|
'--force-enable-' + lang,
|
||||||
action = 'store_true',
|
action = 'store_true',
|
||||||
help = 'Install the unsupported {} debug adapter for {} support'.format(
|
help = 'Install the unsupported {} debug adapter for {} support'.format(
|
||||||
name,
|
name,
|
||||||
gadget[ 'language' ] ) )
|
lang ) )
|
||||||
continue
|
continue
|
||||||
|
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--enable-' + gadget[ 'language' ],
|
'--enable-' + lang,
|
||||||
action = 'store_true',
|
action = 'store_true',
|
||||||
help = 'Install the {} debug adapter for {} support'.format(
|
help = 'Install the {} debug adapter for {} support'.format(
|
||||||
name,
|
name,
|
||||||
gadget[ 'language' ] ) )
|
lang ) )
|
||||||
|
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--disable-' + gadget[ 'language' ],
|
'--disable-' + lang,
|
||||||
action = 'store_true',
|
action = 'store_true',
|
||||||
help = 'Don\t install the {} debug adapter for {} support '
|
help = 'Don\t install the {} debug adapter for {} support '
|
||||||
'(when supplying --all)'.format( name, gadget[ 'language' ] ) )
|
'(when supplying --all)'.format( name, lang ) )
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"configurations": {
|
"configurations": {
|
||||||
"launch": {
|
"launch - netcoredbg": {
|
||||||
"adapter": "netcoredbg",
|
"adapter": "netcoredbg",
|
||||||
"configuration": {
|
"configuration": {
|
||||||
"request": "launch",
|
"request": "launch",
|
||||||
|
|
@ -8,6 +8,13 @@
|
||||||
"args": [],
|
"args": [],
|
||||||
"stopAtEntry": true
|
"stopAtEntry": true
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"launch - mono": {
|
||||||
|
"adapter": "vscode-mono-debug",
|
||||||
|
"configuration": {
|
||||||
|
"request": "launch",
|
||||||
|
"program": "${workspaceRoot}/Program.exe"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue