diff --git a/lldb/tools/lldb-vscode/package.json b/lldb/tools/lldb-vscode/package.json --- a/lldb/tools/lldb-vscode/package.json +++ b/lldb/tools/lldb-vscode/package.json @@ -1,296 +1,327 @@ { - "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" + "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": "markdown" + }, + { + "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", + "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" ], - "extensions": [ - ".disasm" - ] - } - ], - "grammars": [ - { - "language": "lldb.disassembly", - "scopeName": "source.disassembly", - "path": "./syntaxes/disassembly.json" + "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}/", + "args": [], + "env": [], + "cwd": "${workspaceRoot}" + } ], - "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}/", - "args": [], - "env": [], - "cwd": "${workspaceRoot}" - } - ], - "configurationSnippets": [ - { - "label": "LLDB: Launch", - "description": "", - "body": { - "type": "lldb-vscode", - "request": "launch", - "name": "${2:Launch}", - "program": "^\"\\${workspaceRoot}/${1:}\"", - "args": [], - "env": [], - "cwd": "^\"\\${workspaceRoot}\"" - } - } - ] - } - ] - } + "configurationSnippets": [ + { + "label": "LLDB: Launch", + "description": "", + "body": { + "type": "lldb-vscode", + "request": "launch", + "name": "${2:Launch}", + "program": "^\"\\${workspaceRoot}/${1:}\"", + "args": [], + "env": [], + "cwd": "^\"\\${workspaceRoot}\"" + } + } + ] + } + ] + } }