474 lines
13 KiB
JSON
474 lines
13 KiB
JSON
{
|
|
"name": "debug",
|
|
"displayName": "Native Debug",
|
|
"description": "GDB, LLDB & Mago-MI Debugger support for VSCode",
|
|
"version": "0.9.0",
|
|
"publisher": "webfreak",
|
|
"icon": "images/icon-plain.svg",
|
|
"engines": {
|
|
"vscode": "^1.3.0"
|
|
},
|
|
"categories": [
|
|
"Debuggers"
|
|
],
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/WebFreak001/code-debug.git"
|
|
},
|
|
"contributes": {
|
|
"debuggers": [
|
|
{
|
|
"type": "gdb",
|
|
"extensions": [],
|
|
"program": "./out/src/gdb.js",
|
|
"runtime": "node",
|
|
"label": "GDB",
|
|
"enableBreakpointsFor": {
|
|
"languageIds": [
|
|
"c",
|
|
"cpp",
|
|
"d",
|
|
"objective-c",
|
|
"fortran",
|
|
"fortran-modern",
|
|
"rust",
|
|
"pascal",
|
|
"objectpascal",
|
|
"ada",
|
|
"nim",
|
|
"arm",
|
|
"asm"
|
|
]
|
|
},
|
|
"configurationAttributes": {
|
|
"launch": {
|
|
"required": [
|
|
"target"
|
|
],
|
|
"properties": {
|
|
"target": {
|
|
"type": "string",
|
|
"description": "Path of executable"
|
|
},
|
|
"arguments": {
|
|
"type": "string",
|
|
"description": "Arguments to append after the executable. You can also use pipes."
|
|
},
|
|
"terminal": {
|
|
"type": "string",
|
|
"description": "Leave this field undefined to keep program output in the vscode console at the bottom. If this is set to empty string the program will spawn in a new console using x-terminal-emulator on linux, otherwise with the specified terminal. On windows setting this to an empty string spawns the program in a console, but no other console is supported."
|
|
},
|
|
"cwd": {
|
|
"type": "string",
|
|
"description": "Path of project"
|
|
},
|
|
"gdbpath": {
|
|
"type": "string",
|
|
"description": "Path to the gdb executable or the command if in PATH",
|
|
"default": "gdb"
|
|
},
|
|
"printCalls": {
|
|
"type": "boolean",
|
|
"description": "Prints all GDB calls to console",
|
|
"default": false
|
|
},
|
|
"autorun": {
|
|
"type": "array",
|
|
"description": "GDB commands to run when starting to debug",
|
|
"default": []
|
|
},
|
|
"ssh": {
|
|
"required": [
|
|
"host",
|
|
"cwd",
|
|
"user"
|
|
],
|
|
"type": "object",
|
|
"description": "If this is set then the extension will connect to an ssh host and run GDB there",
|
|
"properties": {
|
|
"host": {
|
|
"type": "string",
|
|
"description": "Remote host name/ip to connect to"
|
|
},
|
|
"cwd": {
|
|
"type": "string",
|
|
"description": "Path of project on the remote"
|
|
},
|
|
"port": {
|
|
"type": "number",
|
|
"description": "Remote port number",
|
|
"default": 22
|
|
},
|
|
"user": {
|
|
"type": "string",
|
|
"description": "Username to connect as"
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"description": "Plain text password (unsafe; if possible use keyfile instead)"
|
|
},
|
|
"keyfile": {
|
|
"type": "string",
|
|
"description": "Absolute path to private key"
|
|
},
|
|
"forwardX11": {
|
|
"type": "boolean",
|
|
"description": "If true, the server will redirect x11 to the local host",
|
|
"default": true
|
|
},
|
|
"x11port": {
|
|
"type": "number",
|
|
"description": "Port to redirect X11 data to (by default port = display + 6000)",
|
|
"default": 6000
|
|
},
|
|
"x11host": {
|
|
"type": "string",
|
|
"description": "Hostname/ip to redirect X11 data to",
|
|
"default": "localhost"
|
|
},
|
|
"remotex11screen": {
|
|
"type": "number",
|
|
"description": "Screen to start the application on the remote side",
|
|
"default": 0
|
|
},
|
|
"bootstrap": {
|
|
"type": "string",
|
|
"description": "Content will be executed on the SSH host before the debugger call."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"attach": {
|
|
"required": [
|
|
"target"
|
|
],
|
|
"properties": {
|
|
"target": {
|
|
"type": "string",
|
|
"description": "PID of running program or program name or connection arguments (eg :2345) if remote is true"
|
|
},
|
|
"remote": {
|
|
"type": "boolean",
|
|
"description": "If true this will connect to a gdbserver instead of attaching to a PID",
|
|
"default": false
|
|
},
|
|
"printCalls": {
|
|
"type": "boolean",
|
|
"description": "Prints all GDB calls to console",
|
|
"default": false
|
|
},
|
|
"executable": {
|
|
"type": "string",
|
|
"description": "Path of executable for debugging symbols"
|
|
},
|
|
"gdbpath": {
|
|
"type": "string",
|
|
"description": "Path to the gdb executable or the command if in PATH",
|
|
"default": "gdb"
|
|
},
|
|
"cwd": {
|
|
"type": "string",
|
|
"description": "Path of project",
|
|
"default": "${workspaceRoot}"
|
|
},
|
|
"autorun": {
|
|
"type": "array",
|
|
"description": "GDB commands to run when starting to debug",
|
|
"default": []
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"initialConfigurations": [
|
|
{
|
|
"name": "Debug",
|
|
"type": "gdb",
|
|
"request": "launch",
|
|
"target": "./bin/executable",
|
|
"cwd": "${workspaceRoot}"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "lldb-mi",
|
|
"extensions": [],
|
|
"program": "./out/src/lldb.js",
|
|
"runtime": "node",
|
|
"label": "LLDB",
|
|
"enableBreakpointsFor": {
|
|
"languageIds": [
|
|
"c",
|
|
"ada",
|
|
"cpp",
|
|
"cobol",
|
|
"fortran",
|
|
"pascal",
|
|
"modula",
|
|
"java",
|
|
"pli",
|
|
"objective-c",
|
|
"objective-cpp",
|
|
"d",
|
|
"python",
|
|
"opencl",
|
|
"modula3",
|
|
"haskell",
|
|
"ocaml",
|
|
"swift",
|
|
"julia",
|
|
"dylan",
|
|
"mips",
|
|
"renderscript"
|
|
]
|
|
},
|
|
"configurationAttributes": {
|
|
"launch": {
|
|
"required": [
|
|
"target"
|
|
],
|
|
"properties": {
|
|
"target": {
|
|
"type": "string",
|
|
"description": "Path of executable"
|
|
},
|
|
"arguments": {
|
|
"type": "string",
|
|
"description": "Arguments to append after the executable"
|
|
},
|
|
"cwd": {
|
|
"type": "string",
|
|
"description": "Path of project"
|
|
},
|
|
"lldbmipath": {
|
|
"type": "string",
|
|
"description": "Path to the lldb-mi executable or the command if in PATH",
|
|
"default": "lldb-mi"
|
|
},
|
|
"printCalls": {
|
|
"type": "boolean",
|
|
"description": "Prints all lldb calls to console",
|
|
"default": false
|
|
},
|
|
"autorun": {
|
|
"type": "array",
|
|
"description": "lldb commands to run when starting to debug",
|
|
"default": []
|
|
},
|
|
"ssh": {
|
|
"required": [
|
|
"host",
|
|
"cwd",
|
|
"user"
|
|
],
|
|
"type": "object",
|
|
"description": "If this is set then the extension will connect to an ssh host and run lldb there",
|
|
"properties": {
|
|
"host": {
|
|
"type": "string",
|
|
"description": "Remote host name/ip to connect to"
|
|
},
|
|
"cwd": {
|
|
"type": "string",
|
|
"description": "Path of project on the remote"
|
|
},
|
|
"port": {
|
|
"type": "number",
|
|
"description": "Remote port number",
|
|
"default": 22
|
|
},
|
|
"user": {
|
|
"type": "string",
|
|
"description": "Username to connect as"
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"description": "Plain text password (unsafe; if possible use keyfile instead)"
|
|
},
|
|
"keyfile": {
|
|
"type": "string",
|
|
"description": "Absolute path to private key"
|
|
},
|
|
"forwardX11": {
|
|
"type": "boolean",
|
|
"description": "If true, the server will redirect x11 to the local host",
|
|
"default": true
|
|
},
|
|
"x11port": {
|
|
"type": "number",
|
|
"description": "Port to redirect X11 data to (by default port = display + 6000)",
|
|
"default": 6000
|
|
},
|
|
"x11host": {
|
|
"type": "string",
|
|
"description": "Hostname/ip to redirect X11 data to",
|
|
"default": "localhost"
|
|
},
|
|
"remotex11screen": {
|
|
"type": "number",
|
|
"description": "Screen to start the application on the remote side",
|
|
"default": 0
|
|
},
|
|
"bootstrap": {
|
|
"type": "string",
|
|
"description": "Content will be executed on the SSH host before the debugger call."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"attach": {
|
|
"required": [
|
|
"target"
|
|
],
|
|
"properties": {
|
|
"target": {
|
|
"type": "string",
|
|
"description": "PID of running program or program name"
|
|
},
|
|
"printCalls": {
|
|
"type": "boolean",
|
|
"description": "Prints all LLDB calls to console",
|
|
"default": false
|
|
},
|
|
"executable": {
|
|
"type": "string",
|
|
"description": "Path of executable for debugging symbols"
|
|
},
|
|
"lldbmipath": {
|
|
"type": "string",
|
|
"description": "Path to the lldb-mi executable or the command if in PATH",
|
|
"default": "lldb-mi"
|
|
},
|
|
"cwd": {
|
|
"type": "string",
|
|
"description": "Path of project",
|
|
"default": "${workspaceRoot}"
|
|
},
|
|
"autorun": {
|
|
"type": "array",
|
|
"description": "LLDB commands to run when starting to debug",
|
|
"default": []
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"initialConfigurations": [
|
|
{
|
|
"name": "Debug",
|
|
"type": "lldb-mi",
|
|
"request": "launch",
|
|
"target": "./bin/executable",
|
|
"cwd": "${workspaceRoot}"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "mago-mi",
|
|
"extensions": [],
|
|
"program": "./out/src/mago.js",
|
|
"runtime": "node",
|
|
"label": "Mago-MI",
|
|
"enableBreakpointsFor": {
|
|
"languageIds": [
|
|
"d"
|
|
]
|
|
},
|
|
"configurationAttributes": {
|
|
"launch": {
|
|
"required": [
|
|
"target"
|
|
],
|
|
"properties": {
|
|
"target": {
|
|
"type": "string",
|
|
"description": "Path of executable"
|
|
},
|
|
"arguments": {
|
|
"type": "string",
|
|
"description": "Arguments to append after the executable"
|
|
},
|
|
"cwd": {
|
|
"type": "string",
|
|
"description": "Path of project"
|
|
},
|
|
"magomipath": {
|
|
"type": "string",
|
|
"description": "Path to the mago-mi executable or the command if in PATH",
|
|
"default": "mago-mi"
|
|
},
|
|
"printCalls": {
|
|
"type": "boolean",
|
|
"description": "Prints all mago calls to console",
|
|
"default": false
|
|
},
|
|
"autorun": {
|
|
"type": "array",
|
|
"description": "mago commands to run when starting to debug",
|
|
"default": []
|
|
}
|
|
}
|
|
},
|
|
"attach": {
|
|
"required": [
|
|
"target"
|
|
],
|
|
"properties": {
|
|
"target": {
|
|
"type": "string",
|
|
"description": "PID of running program or program name"
|
|
},
|
|
"printCalls": {
|
|
"type": "boolean",
|
|
"description": "Prints all mago calls to console",
|
|
"default": false
|
|
},
|
|
"executable": {
|
|
"type": "string",
|
|
"description": "Path of executable for debugging symbols"
|
|
},
|
|
"magomipath": {
|
|
"type": "string",
|
|
"description": "Path to the mago-mi executable or the command if in PATH",
|
|
"default": "mago-mi"
|
|
},
|
|
"cwd": {
|
|
"type": "string",
|
|
"description": "Path of project",
|
|
"default": "${workspaceRoot}"
|
|
},
|
|
"autorun": {
|
|
"type": "array",
|
|
"description": "Mago commands to run when starting to debug",
|
|
"default": []
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"initialConfigurations": [
|
|
{
|
|
"name": "Debug",
|
|
"type": "mago-mi",
|
|
"request": "launch",
|
|
"target": "./bin/executable",
|
|
"cwd": "${workspaceRoot}"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"scripts": {
|
|
"vscode:prepublish": "node ./node_modules/vscode/bin/compile",
|
|
"compile": "node ./node_modules/vscode/bin/compile -watch -p ./",
|
|
"test": "node ./node_modules/vscode/bin/test"
|
|
},
|
|
"dependencies": {
|
|
"vscode-debugadapter": "^1.10.0",
|
|
"vscode-debugprotocol": "^1.10.0",
|
|
"ssh2": "^0.5.0"
|
|
},
|
|
"devDependencies": {
|
|
"typescript": "^1.8.10",
|
|
"vscode": "0.11.x"
|
|
}
|
|
}
|