| { |
| "name": "lldb-vscode", |
| "displayName": "LLDB native Debug stub", |
| "version": "0.1.0", |
| "publisher": "llvm", |
| "repository": "llvm.org", |
| "description": "Debug adapter for LLDB which uses a C++ tool to interface directly with LLDB.", |
| "author": { |
| "name": "Greg Clayton", |
| "email": "clayborg@gmail.com" |
| }, |
| "license": "LLVM", |
| "keywords": [ |
| "multi-root ready" |
| ], |
| "engines": { |
| "vscode": "^1.18.0", |
| "node": "^7.9.0" |
| }, |
| "categories": [ |
| "Debuggers" |
| ], |
| "private": true, |
| "devDependencies": { |
| "@types/node": "7.0.43", |
| "@types/mocha": "2.2.45", |
| "typescript": "2.6.2", |
| "mocha": "4.0.1", |
| "vscode": "1.1.10", |
| "vscode-debugadapter-testsupport": "1.25.0", |
| "tslint": "5.8.0", |
| "vsce": "^1.36.3" |
| }, |
| "contributes": { |
| "languages": [ |
| { |
| "id": "lldb.disassembly", |
| "aliases": [ |
| "Disassembly" |
| ], |
| "extensions": [ |
| ".disasm" |
| ] |
| } |
| ], |
| "grammars": [ |
| { |
| "language": "lldb.disassembly", |
| "scopeName": "source.disassembly", |
| "path": "./syntaxes/disassembly.json" |
| } |
| ], |
| "breakpoints": [ |
| { |
| "language": "ada" |
| }, |
| { |
| "language": "arm" |
| }, |
| { |
| "language": "asm" |
| }, |
| { |
| "language": "c" |
| }, |
| { |
| "language": "cpp" |
| }, |
| { |
| "language": "crystal" |
| }, |
| { |
| "language": "d" |
| }, |
| { |
| "language": "fortan" |
| }, |
| { |
| "language": "fortran-modern" |
| }, |
| { |
| "language": "nim" |
| }, |
| { |
| "language": "objective-c" |
| }, |
| { |
| "language": "objectpascal" |
| }, |
| { |
| "language": "pascal" |
| }, |
| { |
| "language": "rust" |
| }, |
| { |
| "language": "swift" |
| } |
| ], |
| "debuggers": [ |
| { |
| "type": "lldb-vscode", |
| "label": "Native LLDB Debugger", |
| "enableBreakpointsFor": { |
| "languageIds": [ |
| "ada", |
| "arm", |
| "asm", |
| "c", |
| "cpp", |
| "crystal", |
| "d", |
| "fortan", |
| "fortran-modern", |
| "nim", |
| "objective-c", |
| "objectpascal", |
| "pascal", |
| "rust", |
| "swift" |
| ] |
| }, |
| "program": "./bin/lldb-vscode", |
| "windows": { |
| "program": "./bin/lldb-vscode.exe" |
| }, |
| "configurationAttributes": { |
| "launch": { |
| "required": [ |
| "program" |
| ], |
| "properties": { |
| "program": { |
| "type": "string", |
| "description": "Path to the program to debug." |
| }, |
| "args": { |
| "type": [ |
| "array", |
| "string" |
| ], |
| "description": "Program arguments.", |
| "default": [] |
| }, |
| "cwd": { |
| "type": "string", |
| "description": "Program working directory.", |
| "default": "${workspaceRoot}" |
| }, |
| "env": { |
| "type": "array", |
| "description": "Additional environment variables to set when launching the program. This is an array of strings that contains the variable name followed by an optional '=' character and the environment variable's value. Example: [\"FOO=BAR\", \"BAZ\"]", |
| "default": [] |
| }, |
| "stopOnEntry": { |
| "type": "boolean", |
| "description": "Automatically stop after launch.", |
| "default": false |
| }, |
| "disableASLR": { |
| "type": "boolean", |
| "description": "Enable or disable Address space layout randomization if the debugger supports it.", |
| "default": true |
| }, |
| "disableSTDIO": { |
| "type": "boolean", |
| "description": "Don't retrieve STDIN, STDOUT and STDERR as the program is running.", |
| "default": false |
| }, |
| "shellExpandArguments": { |
| "type": "boolean", |
| "description": "Expand program arguments as a shell would without actually launching the program in a shell.", |
| "default": false |
| }, |
| "detachOnError": { |
| "type": "boolean", |
| "description": "Detach from the program.", |
| "default": false |
| }, |
| "sourcePath": { |
| "type": "string", |
| "description": "Specify a source path to remap \"./\" to allow full paths to be used when setting breakpoints in binaries that have relative source paths." |
| }, |
| "sourceMap": { |
| "type": "array", |
| "description": "Specify an array of path remappings; each element must itself be a two element array containing a source and destination pathname. Overrides sourcePath.", |
| "default": [] |
| }, |
| "debuggerRoot": { |
| "type": "string", |
| "description": "Specify a working directory to set the debug adaptor to so relative object files can be located." |
| }, |
| "targetTriple": { |
| "type": "string", |
| "description": "Triplet of the target architecture to override value derived from the program file." |
| }, |
| "platformName": { |
| "type": "string", |
| "description": "Name of the execution platform to override value derived from the program file." |
| }, |
| "initCommands": { |
| "type": "array", |
| "description": "Initialization commands executed upon debugger startup.", |
| "default": [] |
| }, |
| "preRunCommands": { |
| "type": "array", |
| "description": "Commands executed just before the program is launched.", |
| "default": [] |
| }, |
| "postRunCommands": { |
| "type": "array", |
| "description": "Commands executed just as soon as the program is successfully launched when it's in a stopped state prior to any automatic continuation.", |
| "default": [] |
| }, |
| "launchCommands": { |
| "type": "array", |
| "description": "Custom commands that are executed instead of launching a process. A target will be created with the launch arguments prior to executing these commands. The commands may optionally create a new target and must perform a launch. A valid process must exist after these commands complete or the \"launch\" will fail.", |
| "default": [] |
| }, |
| "stopCommands": { |
| "type": "array", |
| "description": "Commands executed each time the program stops.", |
| "default": [] |
| }, |
| "exitCommands": { |
| "type": "array", |
| "description": "Commands executed at the end of debugging session.", |
| "default": [] |
| }, |
| "runInTerminal": { |
| "type": "boolean", |
| "description": "Launch the program inside an integrated terminal in the IDE. Useful for debugging interactive command line programs", |
| "default": false |
| } |
| } |
| }, |
| "attach": { |
| "properties": { |
| "program": { |
| "type": "string", |
| "description": "Path to the program to attach to." |
| }, |
| "pid": { |
| "type": [ |
| "number", |
| "string" |
| ], |
| "description": "System process ID to attach to." |
| }, |
| "waitFor": { |
| "type": "boolean", |
| "description": "If set to true, then wait for the process to launch by looking for a process with a basename that matches `program`. No process ID needs to be specified when using this flag.", |
| "default": true |
| }, |
| "sourcePath": { |
| "type": "string", |
| "description": "Specify a source path to remap \"./\" to allow full paths to be used when setting breakpoints in binaries that have relative source paths." |
| }, |
| "sourceMap": { |
| "type": "array", |
| "description": "Specify an array of path remappings; each element must itself be a two element array containing a source and destination pathname. Overrides sourcePath.", |
| "default": [] |
| }, |
| "debuggerRoot": { |
| "type": "string", |
| "description": "Specify a working directory to set the debug adaptor to so relative object files can be located." |
| }, |
| "targetTriple": { |
| "type": "string", |
| "description": "Triplet of the target architecture to override value derived from the program file." |
| }, |
| "platformName": { |
| "type": "string", |
| "description": "Name of the execution platform to override value derived from the program file." |
| }, |
| "attachCommands": { |
| "type": "array", |
| "description": "Custom commands that are executed instead of attaching to a process ID or to a process by name. These commands may optionally create a new target and must perform an attach. A valid process must exist after these commands complete or the \"attach\" will fail.", |
| "default": [] |
| }, |
| "initCommands": { |
| "type": "array", |
| "description": "Initialization commands executed upon debugger startup.", |
| "default": [] |
| }, |
| "preRunCommands": { |
| "type": "array", |
| "description": "Commands executed just before the program is attached to.", |
| "default": [] |
| }, |
| "postRunCommands": { |
| "type": "array", |
| "description": "Commands executed just as soon as the program is successfully attached when it's in a stopped state prior to any automatic continuation.", |
| "default": [] |
| }, |
| "stopCommands": { |
| "type": "array", |
| "description": "Commands executed each time the program stops.", |
| "default": [] |
| }, |
| "exitCommands": { |
| "type": "array", |
| "description": "Commands executed at the end of debugging session.", |
| "default": [] |
| }, |
| "coreFile": { |
| "type": "string", |
| "description": "Path to the core file to debug." |
| } |
| } |
| } |
| }, |
| "initialConfigurations": [ |
| { |
| "type": "lldb-vscode", |
| "request": "launch", |
| "name": "Debug", |
| "program": "${workspaceRoot}/<your program>", |
| "args": [], |
| "env": [], |
| "cwd": "${workspaceRoot}" |
| } |
| ], |
| "configurationSnippets": [ |
| { |
| "label": "LLDB: Launch", |
| "description": "", |
| "body": { |
| "type": "lldb-vscode", |
| "request": "launch", |
| "name": "${2:Launch}", |
| "program": "^\"\\${workspaceRoot}/${1:<your program>}\"", |
| "args": [], |
| "env": [], |
| "cwd": "^\"\\${workspaceRoot}\"" |
| } |
| } |
| ] |
| } |
| ] |
| } |
| } |