{ "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. Launch the process with \"process launch -s\" to make the process to at the entry point since lldb-vscode will auto resume if necessary.", "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 }, "timeout": { "type": "string", "description": "The time in seconds to wait for a program to stop at entry point when launching with \"launchCommands\". Defaults to 30 seconds." } } }, "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." }, "timeout": { "type": "string", "description": "The time in seconds to wait for a program to stop when attaching using \"attachCommands\". Defaults to 30 seconds." } } } }, "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}\"" } } ] } ] } }