947 lines · json
1{2 "name": "lldb-dap",3 "displayName": "LLDB DAP",4 "version": "0.2.18",5 "publisher": "llvm-vs-code-extensions",6 "homepage": "https://lldb.llvm.org",7 "description": "Debugging with LLDB in Visual Studio Code",8 "license": "Apache 2.0 License with LLVM exceptions",9 "repository": {10 "type": "git",11 "url": "https://github.com/llvm/llvm-project.git",12 "directory": "lldb/tools/lldb-dap/"13 },14 "bugs": {15 "url": "https://github.com/llvm/llvm-project/issues"16 },17 "icon": "llvm-logo.png",18 "keywords": [19 "C",20 "C++",21 "LLVM",22 "LLDB"23 ],24 "engines": {25 "vscode": "^1.75.0"26 },27 "categories": [28 "Debuggers"29 ],30 "dependencies": {31 "chokidar": "^4.0.3"32 },33 "devDependencies": {34 "@types/node": "^18.19.41",35 "@types/tabulator-tables": "^6.2.10",36 "@types/vscode": "1.75.0",37 "@types/vscode-webview": "^1.57.5",38 "@vscode/debugprotocol": "^1.68.0",39 "@vscode/vsce": "^3.2.2",40 "esbuild": "^0.25.9",41 "prettier": "^3.4.2",42 "prettier-plugin-curly": "^0.3.1",43 "tabulator-tables": "^6.3.1",44 "typescript": "^5.7.3"45 },46 "activationEvents": [47 "onDebug",48 "onUri"49 ],50 "main": "./out/extension",51 "scripts": {52 "bundle-extension": "npx tsc -p ./ --noEmit && npx esbuild src-ts/extension.ts --bundle --outfile=out/extension.js --external:vscode --format=cjs --platform=node --target=node22 --minify",53 "bundle-symbols-table-view": "npx tsc -p src-ts/webview --noEmit && npx esbuild src-ts/webview/symbols-table-view.ts --bundle --format=iife --outdir=./out/webview",54 "bundle-tabulator": "cp node_modules/tabulator-tables/dist/js/tabulator.min.js ./out/webview/ && cp node_modules/tabulator-tables/dist/css/tabulator_midnight.min.css ./out/webview/ && cp node_modules/tabulator-tables/dist/css/tabulator_simple.min.css ./out/webview/",55 "bundle-webview": "npm run bundle-symbols-table-view && npm run bundle-tabulator",56 "vscode:prepublish": "npm run bundle-webview && npm run bundle-extension",57 "watch": "npm run bundle-webview && tsc -watch -p ./",58 "format": "npx prettier './src-ts/' --write",59 "package": "rm -rf ./out && vsce package --out ./out/lldb-dap.vsix",60 "publish": "vsce publish",61 "vscode-uninstall": "code --uninstall-extension llvm-vs-code-extensions.lldb-dap",62 "vscode-install": "code --install-extension ./out/lldb-dap.vsix"63 },64 "contributes": {65 "languages": [66 {67 "id": "lldb.disassembly",68 "aliases": [69 "Disassembly"70 ],71 "extensions": [72 ".disasm"73 ]74 }75 ],76 "grammars": [77 {78 "language": "lldb.disassembly",79 "scopeName": "source.disassembly",80 "path": "./syntaxes/disassembly.json"81 }82 ],83 "configuration": [84 {85 "type": "object",86 "title": "Adapter",87 "properties": {88 "lldb-dap.executable-path": {89 "order": 0,90 "scope": "machine-overridable",91 "type": "string",92 "description": "The path to the lldb-dap binary, e.g. /usr/local/bin/lldb-dap"93 },94 "lldb-dap.log-path": {95 "scope": "machine-overridable",96 "type": "string",97 "description": "The log path for lldb-dap (if any)",98 "markdownDeprecationMessage": "Use the `#lldb-dap.logFolder#` setting instead"99 },100 "lldb-dap.logFolder": {101 "order": 0,102 "scope": "machine-overridable",103 "type": "string",104 "markdownDescription": "The folder to persist lldb-dap logs. If no value is provided, logs will be persisted in the [Extension Logs Folder](command:workbench.action.openExtensionLogsFolder)."105 },106 "lldb-dap.serverMode": {107 "order": 0,108 "scope": "resource",109 "type": "boolean",110 "markdownDescription": "Run lldb-dap in server mode.\n\nWhen enabled, lldb-dap will start a background server that will be reused between debug sessions. This allows caching of debug symbols between sessions and improves launch performance.",111 "default": false112 },113 "lldb-dap.connectionTimeout": {114 "order": 0,115 "scope": "resource",116 "type": "number",117 "markdownDescription": "When running lldb-dap in server mode, the time in seconds to wait for new connections after the server has started and after all clients have disconnected. Each new connection will reset the timeout. When the timeout is reached, the server will be closed and the process will exit. Specifying non-positive values will cause the server to wait for new connections indefinitely.",118 "default": 0119 },120 "lldb-dap.arguments": {121 "scope": "resource",122 "type": "array",123 "default": [],124 "items": {125 "type": "string"126 },127 "description": "The list of additional arguments used to launch the debug adapter executable."128 },129 "lldb-dap.environment": {130 "scope": "resource",131 "type": "object",132 "default": {},133 "description": "The environment of the lldb-dap process.",134 "additionalProperties": {135 "type": "string"136 }137 },138 "lldb-dap.captureSessionLogs": {139 "type": "boolean",140 "description": "When enabled, LLDB-DAP session logs will be written to the Extension's log folder if the `lldb-dap.log-path` setting is not explicitly set.",141 "default": false142 }143 }144 },145 {146 "title": "Defaults",147 "type": "object",148 "properties": {149 "lldb-dap.commandEscapePrefix": {150 "order": 0,151 "type": "string",152 "description": "The escape prefix to use for executing regular LLDB commands in the Debug Console, instead of printing variables. Defaults to a back-tick (`). If it's an empty string, then all expression in the Debug Console are treated as regular LLDB commands.",153 "default": "`"154 },155 "lldb-dap.customFrameFormat": {156 "order": 0,157 "type": "string",158 "description": "If non-empty, stack frames will have descriptions generated based on the provided format. See https://lldb.llvm.org/use/formatting.html for an explanation on format strings for frames. If the format string contains errors, an error message will be displayed on the Debug Console and the default frame names will be used. This might come with a performance cost because debug information might need to be processed to generate the description.",159 "default": ""160 },161 "lldb-dap.customThreadFormat": {162 "order": 0,163 "type": "string",164 "description": "If non-empty, threads will have descriptions generated based on the provided format. See https://lldb.llvm.org/use/formatting.html for an explanation on format strings for threads. If the format string contains errors, an error message will be displayed on the Debug Console and the default thread names will be used. This might come with a performance cost because debug information might need to be processed to generate the description.",165 "default": ""166 },167 "lldb-dap.detachOnError": {168 "order": 0,169 "type": "boolean",170 "description": "Detach from the program.",171 "default": false172 },173 "lldb-dap.disableASLR": {174 "order": 0,175 "type": "boolean",176 "description": "Enable or disable Address space layout randomization if the debugger supports it.",177 "default": true178 },179 "lldb-dap.disableSTDIO": {180 "order": 0,181 "type": "boolean",182 "description": "Don't retrieve STDIN, STDOUT and STDERR as the program is running.",183 "default": false184 },185 "lldb-dap.displayExtendedBacktrace": {186 "order": 0,187 "type": "boolean",188 "description": "Enable language specific extended backtraces.",189 "default": false190 },191 "lldb-dap.enableAutoVariableSummaries": {192 "order": 0,193 "type": "boolean",194 "description": "Enable auto generated summaries for variables when no summaries exist for a given type. This feature can cause performance delays in large projects when viewing variables.",195 "default": false196 },197 "lldb-dap.enableSyntheticChildDebugging": {198 "order": 0,199 "type": "boolean",200 "description": "If a variable is displayed using a synthetic children, also display the actual contents of the variable at the end under a [raw] entry. This is useful when creating sythetic child plug-ins as it lets you see the actual contents of the variable.",201 "default": false202 },203 "lldb-dap.timeout": {204 "order": 0,205 "type": "number",206 "description": "The time in seconds to wait for a program to stop at entry point when launching with \"launchCommands\". Defaults to 30 seconds.",207 "default": 30208 },209 "lldb-dap.targetTriple": {210 "order": 1,211 "type": "string",212 "description": "Triplet of the target architecture to override value derived from the program file."213 },214 "lldb-dap.platformName": {215 "order": 1,216 "type": "string",217 "description": "Name of the execution platform to override value derived from the program file."218 },219 "lldb-dap.initCommands": {220 "order": 2,221 "type": "array",222 "items": {223 "type": "string"224 },225 "description": "Initialization commands executed upon debugger startup.",226 "default": []227 },228 "lldb-dap.preRunCommands": {229 "order": 3,230 "type": "array",231 "items": {232 "type": "string"233 },234 "description": "Commands executed just before the program is launched.",235 "default": []236 },237 "lldb-dap.postRunCommands": {238 "order": 4,239 "type": "array",240 "items": {241 "type": "string"242 },243 "description": "Commands executed just as soon as the program is successfully launched when it's in a stopped state prior to any automatic continuation.",244 "default": []245 },246 "lldb-dap.stopCommands": {247 "order": 5,248 "type": "array",249 "items": {250 "type": "string"251 },252 "description": "Commands executed each time the program stops.",253 "default": []254 },255 "lldb-dap.exitCommands": {256 "order": 6,257 "type": "array",258 "items": {259 "type": "string"260 },261 "description": "Commands executed when the program exits.",262 "default": []263 },264 "lldb-dap.terminateCommands": {265 "order": 7,266 "type": "array",267 "items": {268 "type": "string"269 },270 "description": "Commands executed when the debugging session ends.",271 "default": []272 }273 }274 }275 ],276 "commands": [277 {278 "command": "lldb-dap.modules.copyProperty",279 "title": "Copy Value"280 },281 {282 "command": "lldb-dap.modules.showSymbols",283 "title": "Show Module Symbols"284 },285 {286 "category": "lldb-dap",287 "command": "lldb-dap.debug.showSymbols",288 "title": "Show Symbols of a Module"289 }290 ],291 "menus": {292 "commandPalette": [293 {294 "command": "lldb-dap.modules.copyProperty",295 "when": "false"296 },297 {298 "command": "lldb-dap.modules.showSymbols",299 "when": "false"300 },301 {302 "command": "lldb-dap.debug.showSymbols",303 "when": "debuggersAvailable && debugType == 'lldb-dap' && lldb-dap.supportsModuleSymbolsRequest"304 }305 ],306 "view/item/context": [307 {308 "command": "lldb-dap.modules.copyProperty",309 "when": "view == lldb-dap.modules && viewItem == property"310 },311 {312 "command": "lldb-dap.modules.showSymbols",313 "when": "view == lldb-dap.modules && viewItem == module && lldb-dap.supportsModuleSymbolsRequest"314 }315 ]316 },317 "breakpoints": [318 {319 "language": "lldb.disassembly"320 },321 {322 "language": "ada"323 },324 {325 "language": "arm"326 },327 {328 "language": "asm"329 },330 {331 "language": "c"332 },333 {334 "language": "cpp"335 },336 {337 "language": "crystal"338 },339 {340 "language": "d"341 },342 {343 "language": "fortran"344 },345 {346 "language": "fortran-modern"347 },348 {349 "language": "nim"350 },351 {352 "language": "objective-c"353 },354 {355 "language": "objective-cpp"356 },357 {358 "language": "objectpascal"359 },360 {361 "language": "pascal"362 },363 {364 "language": "rust"365 },366 {367 "language": "swift"368 }369 ],370 "debuggers": [371 {372 "type": "lldb-dap",373 "label": "LLDB DAP Debugger",374 "languages": [375 "ada",376 "arm",377 "c",378 "cpp",379 "crystal",380 "d",381 "fortran",382 "fortran-modern",383 "nim",384 "objective-c",385 "objective-cpp",386 "objectpascal",387 "pascal",388 "rust",389 "swift"390 ],391 "configurationAttributes": {392 "launch": {393 "required": [394 "program"395 ],396 "properties": {397 "debugAdapterHostname": {398 "type": "string",399 "markdownDescription": "The hostname that an existing lldb-dap executable is listening on."400 },401 "debugAdapterPort": {402 "type": "number",403 "markdownDescription": "The port that an existing lldb-dap executable is listening on."404 },405 "debugAdapterExecutable": {406 "type": "string",407 "markdownDescription": "The absolute path to the LLDB debug adapter executable to use. Overrides any user or workspace settings."408 },409 "debugAdapterArgs": {410 "type": "array",411 "items": {412 "type": "string"413 },414 "markdownDescription": "The list of additional arguments used to launch the debug adapter executable. Overrides any user or workspace settings."415 },416 "debugAdapterEnv": {417 "anyOf": [418 {419 "type": "object",420 "markdownDescription": "Additional environment variables to set when launching the debug adapter executable. For example `{ \"FOO\": \"1\" }`",421 "patternProperties": {422 ".*": {423 "type": "string"424 }425 },426 "default": {}427 },428 {429 "type": "array",430 "markdownDescription": "Additional environment variables to set when launching the debug adapter executable. For example `[\"FOO=1\", \"BAR\"]`",431 "items": {432 "type": "string",433 "pattern": "^\\w+(=.*)?$"434 },435 "default": []436 }437 ]438 },439 "program": {440 "type": "string",441 "description": "Path to the program to debug."442 },443 "args": {444 "type": [445 "array"446 ],447 "items": {448 "type": "string"449 },450 "description": "Program arguments.",451 "default": []452 },453 "cwd": {454 "type": "string",455 "description": "Program working directory.",456 "default": "${workspaceFolder}"457 },458 "env": {459 "anyOf": [460 {461 "type": "object",462 "description": "Additional environment variables to set when launching the program. E.g. `{ \"FOO\": \"1\" }`",463 "patternProperties": {464 ".*": {465 "type": "string"466 }467 },468 "default": {}469 },470 {471 "type": "array",472 "description": "Additional environment variables to set when launching the program. E.g. `[\"FOO=1\", \"BAR\"]`",473 "items": {474 "type": "string",475 "pattern": "^((\\w+=.*)|^\\w+)$"476 },477 "default": []478 }479 ]480 },481 "stopOnEntry": {482 "type": "boolean",483 "description": "Automatically stop after launch.",484 "default": false485 },486 "disableASLR": {487 "type": "boolean",488 "description": "Enable or disable Address space layout randomization if the debugger supports it.",489 "default": true490 },491 "disableSTDIO": {492 "type": "boolean",493 "description": "Don't retrieve STDIN, STDOUT and STDERR as the program is running.",494 "default": false495 },496 "shellExpandArguments": {497 "type": "boolean",498 "description": "Expand program arguments as a shell would without actually launching the program in a shell.",499 "default": false500 },501 "detachOnError": {502 "type": "boolean",503 "description": "Detach from the program.",504 "default": false505 },506 "sourcePath": {507 "type": "string",508 "description": "Specify a source path to remap \"./\" to allow full paths to be used when setting breakpoints in binaries that have relative source paths."509 },510 "sourceMap": {511 "anyOf": [512 {513 "type": "object",514 "description": "Specify an object of path remappings; each entry has a key containing the source path and a value containing the destination path. E.g `{ \"/the/source/path\": \"/the/destination/path\" }`. Overrides sourcePath.",515 "patternProperties": {516 ".*": {517 "type": "string"518 }519 },520 "default": {}521 },522 {523 "type": "array",524 "description": "Specify an array of path remappings; each element must itself be a two element array containing a source and destination path name. Overrides sourcePath.",525 "items": {526 "type": "array",527 "minItems": 2,528 "maxItems": 2,529 "items": {530 "type": "string"531 }532 },533 "default": []534 }535 ]536 },537 "debuggerRoot": {538 "type": "string",539 "description": "Specify a working directory to set the debug adapter to so relative object files can be located."540 },541 "targetTriple": {542 "type": "string",543 "description": "Triplet of the target architecture to override value derived from the program file."544 },545 "platformName": {546 "type": "string",547 "description": "Name of the execution platform to override value derived from the program file."548 },549 "initCommands": {550 "type": "array",551 "items": {552 "type": "string"553 },554 "description": "Initialization commands executed upon debugger startup.",555 "default": []556 },557 "preRunCommands": {558 "type": "array",559 "items": {560 "type": "string"561 },562 "description": "Commands executed just before the program is launched.",563 "default": []564 },565 "postRunCommands": {566 "type": "array",567 "items": {568 "type": "string"569 },570 "description": "Commands executed just as soon as the program is successfully launched when it's in a stopped state prior to any automatic continuation.",571 "default": []572 },573 "launchCommands": {574 "type": "array",575 "items": {576 "type": "string"577 },578 "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-dap will auto resume if necessary.",579 "default": []580 },581 "stopCommands": {582 "type": "array",583 "items": {584 "type": "string"585 },586 "description": "Commands executed each time the program stops.",587 "default": []588 },589 "exitCommands": {590 "type": "array",591 "items": {592 "type": "string"593 },594 "description": "Commands executed when the program exits.",595 "default": []596 },597 "terminateCommands": {598 "type": "array",599 "items": {600 "type": "string"601 },602 "description": "Commands executed when the debugging session ends.",603 "default": []604 },605 "runInTerminal": {606 "type": "boolean",607 "description": "Launch the program inside an integrated terminal in the IDE. Useful for debugging interactive command line programs",608 "default": false,609 "deprecationMessage": "Attribute 'runInTerminal' is deprecated, use 'console' instead."610 },611 "console": {612 "type": "string",613 "enum": [614 "internalConsole",615 "integratedTerminal",616 "externalTerminal"617 ],618 "enumDescriptions": [619 "Use Debug Console for output (input is not supported).",620 "Launch the program inside an integrated terminal in the IDE.",621 "Launch the program inside an external terminal window."622 ],623 "description": "Specify where to launch the program: internal console, integrated terminal or external terminal.",624 "default": "internalConsole"625 },626 "stdio": {627 "type": "array",628 "items": {629 "type": [630 "string",631 "null"632 ]633 },634 "description": "The stdio property specifies the redirection targets for the debuggee's stdio streams. A null value redirects a stream to the default debug terminal. String can be a path to file, named pipe or TTY device. If less than three values are provided, the list will be padded with the last value. Specifying more than three values will create additional file descriptors (4, 5, etc.).",635 "default": []636 },637 "timeout": {638 "type": "number",639 "description": "The time in seconds to wait for a program to stop at entry point when launching with \"launchCommands\". Defaults to 30 seconds."640 },641 "enableAutoVariableSummaries": {642 "type": "boolean",643 "description": "Enable auto generated summaries for variables when no summaries exist for a given type. This feature can cause performance delays in large projects when viewing variables.",644 "default": false645 },646 "displayExtendedBacktrace": {647 "type": "boolean",648 "description": "Enable language specific extended backtraces.",649 "default": false650 },651 "enableSyntheticChildDebugging": {652 "type": "boolean",653 "description": "If a variable is displayed using a synthetic children, also display the actual contents of the variable at the end under a [raw] entry. This is useful when creating sythetic child plug-ins as it lets you see the actual contents of the variable.",654 "default": false655 },656 "commandEscapePrefix": {657 "type": "string",658 "description": "The escape prefix to use for executing regular LLDB commands in the Debug Console, instead of printing variables. Defaults to a back-tick (`). If it's an empty string, then all expression in the Debug Console are treated as regular LLDB commands.",659 "default": "`"660 },661 "customFrameFormat": {662 "type": "string",663 "description": "If non-empty, stack frames will have descriptions generated based on the provided format. See https://lldb.llvm.org/use/formatting.html for an explanation on format strings for frames. If the format string contains errors, an error message will be displayed on the Debug Console and the default frame names will be used. This might come with a performance cost because debug information might need to be processed to generate the description.",664 "default": ""665 },666 "customThreadFormat": {667 "type": "string",668 "description": "If non-empty, threads will have descriptions generated based on the provided format. See https://lldb.llvm.org/use/formatting.html for an explanation on format strings for threads. If the format string contains errors, an error message will be displayed on the Debug Console and the default thread names will be used. This might come with a performance cost because debug information might need to be processed to generate the description.",669 "default": ""670 }671 }672 },673 "attach": {674 "properties": {675 "debugAdapterHostname": {676 "type": "string",677 "markdownDescription": "The hostname that an existing lldb-dap executable is listening on."678 },679 "debugAdapterPort": {680 "type": "number",681 "markdownDescription": "The port that an existing lldb-dap executable is listening on."682 },683 "debugAdapterExecutable": {684 "type": "string",685 "markdownDescription": "The absolute path to the LLDB debug adapter executable to use. Overrides any user or workspace settings."686 },687 "debugAdapterArgs": {688 "type": "array",689 "items": {690 "type": "string"691 },692 "markdownDescription": "The list of additional arguments used to launch the debug adapter executable. Overrides any user or workspace settings."693 },694 "debugAdapterEnv": {695 "anyOf": [696 {697 "type": "object",698 "markdownDescription": "Additional environment variables to set when launching the debug adapter executable. For example `{ \"FOO\": \"1\" }`",699 "patternProperties": {700 ".*": {701 "type": "string"702 }703 },704 "default": {}705 },706 {707 "type": "array",708 "markdownDescription": "Additional environment variables to set when launching the debug adapter executable. For example `[\"FOO=1\", \"BAR\"]`",709 "items": {710 "type": "string",711 "pattern": "^\\w+(=.*)?$"712 },713 "default": []714 }715 ]716 },717 "program": {718 "type": "string",719 "description": "Path to the program to attach to."720 },721 "pid": {722 "type": "number",723 "description": "System process ID to attach to."724 },725 "waitFor": {726 "type": "boolean",727 "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.",728 "default": true729 },730 "sourcePath": {731 "type": "string",732 "description": "Specify a source path to remap \"./\" to allow full paths to be used when setting breakpoints in binaries that have relative source paths."733 },734 "sourceMap": {735 "anyOf": [736 {737 "type": "object",738 "description": "Specify an object of path remappings; each entry has a key containing the source path and a value containing the destination path. E.g `{ \"/the/source/path\": \"/the/destination/path\" }`. Overrides sourcePath.",739 "patternProperties": {740 ".*": {741 "type": "string"742 }743 },744 "default": {}745 },746 {747 "type": "array",748 "description": "Specify an array of path remappings; each element must itself be a two element array containing a source and destination path name. Overrides sourcePath.",749 "items": {750 "type": "array",751 "minItems": 2,752 "maxItems": 2,753 "items": {754 "type": "string"755 }756 },757 "default": []758 }759 ]760 },761 "debuggerRoot": {762 "type": "string",763 "description": "Specify a working directory to set the debug adapter to so relative object files can be located."764 },765 "targetTriple": {766 "type": "string",767 "description": "Triplet of the target architecture to override value derived from the program file."768 },769 "platformName": {770 "type": "string",771 "description": "Name of the execution platform to override value derived from the program file."772 },773 "attachCommands": {774 "type": "array",775 "items": {776 "type": "string"777 },778 "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.",779 "default": []780 },781 "targetId": {782 "type": "number",783 "description": "The globally unique target id to attach to. Used when a target is dynamically created."784 },785 "initCommands": {786 "type": "array",787 "items": {788 "type": "string"789 },790 "description": "Initialization commands executed upon debugger startup.",791 "default": []792 },793 "preRunCommands": {794 "type": "array",795 "items": {796 "type": "string"797 },798 "description": "Commands executed just before the program is attached to.",799 "default": []800 },801 "postRunCommands": {802 "type": "array",803 "items": {804 "type": "string"805 },806 "description": "Commands executed just as soon as the program is successfully attached when it's in a stopped state prior to any automatic continuation.",807 "default": []808 },809 "stopCommands": {810 "type": "array",811 "items": {812 "type": "string"813 },814 "description": "Commands executed each time the program stops.",815 "default": []816 },817 "exitCommands": {818 "type": "array",819 "items": {820 "type": "string"821 },822 "description": "Commands executed when the program exits.",823 "default": []824 },825 "terminateCommands": {826 "type": "array",827 "items": {828 "type": "string"829 },830 "description": "Commands executed when the debugging session ends.",831 "default": []832 },833 "coreFile": {834 "type": "string",835 "description": "Path to the core file to debug."836 },837 "timeout": {838 "type": "number",839 "description": "The time in seconds to wait for a program to stop when attaching using \"attachCommands\". Defaults to 30 seconds."840 },841 "gdb-remote-port": {842 "type": [843 "number",844 "string"845 ],846 "description": "TCP/IP port to attach to a remote system. Specifying both pid and port is an error."847 },848 "gdb-remote-hostname": {849 "type": "string",850 "description": "The hostname to connect to a remote system. The default hostname being used localhost."851 },852 "enableAutoVariableSummaries": {853 "type": "boolean",854 "description": "Enable auto generated summaries for variables when no summaries exist for a given type. This feature can cause performance delays in large projects when viewing variables.",855 "default": false856 },857 "displayExtendedBacktrace": {858 "type": "boolean",859 "description": "Enable language specific extended backtraces.",860 "default": false861 },862 "enableSyntheticChildDebugging": {863 "type": "boolean",864 "description": "If a variable is displayed using a synthetic children, also display the actual contents of the variable at the end under a [raw] entry. This is useful when creating sythetic child plug-ins as it lets you see the actual contents of the variable.",865 "default": false866 },867 "commandEscapePrefix": {868 "type": "string",869 "description": "The escape prefix character to use for executing regular LLDB commands in the Debug Console, instead of printing variables. Defaults to a back-tick (`). If empty, then all expression in the Debug Console are treated as regular LLDB commands.",870 "default": "`"871 },872 "customFrameFormat": {873 "type": "string",874 "description": "If non-empty, stack frames will have descriptions generated based on the provided format. See https://lldb.llvm.org/use/formatting.html for an explanation on format strings for frames. If the format string contains errors, an error message will be displayed on the Debug Console and the default frame names will be used. This might come with a performance cost because debug information might need to be processed to generate the description.",875 "default": ""876 },877 "customThreadFormat": {878 "type": "string",879 "description": "If non-empty, threads will have descriptions generated based on the provided format. See https://lldb.llvm.org/use/formatting.html for an explanation on format strings for threads. If the format string contains errors, an error message will be displayed on the Debug Console and the default thread names will be used. This might come with a performance cost because debug information might need to be processed to generate the description.",880 "default": ""881 }882 }883 }884 },885 "initialConfigurations": [886 {887 "type": "lldb-dap",888 "request": "launch",889 "name": "Debug",890 "program": "${workspaceFolder}/<your program>",891 "args": [],892 "env": [],893 "cwd": "${workspaceFolder}"894 }895 ],896 "configurationSnippets": [897 {898 "label": "LLDB: Launch",899 "description": "",900 "body": {901 "type": "lldb-dap",902 "request": "launch",903 "name": "${2:Launch}",904 "program": "^\"\\${workspaceFolder}/${1:<your program>}\"",905 "args": [],906 "env": [],907 "cwd": "^\"\\${workspaceFolder}\""908 }909 },910 {911 "label": "LLDB: Attach",912 "description": "",913 "body": {914 "type": "lldb-dap",915 "request": "attach",916 "name": "${2:Attach}",917 "program": "${1:<your program>}",918 "waitFor": true919 }920 },921 {922 "label": "LLDB: Load Coredump",923 "description": "",924 "body": {925 "type": "lldb-dap",926 "request": "attach",927 "name": "${2:Core}",928 "program": "${1:<your program>}",929 "coreFile": "${1:<your program>}.core"930 }931 }932 ]933 }934 ],935 "views": {936 "debug": [937 {938 "id": "lldb-dap.modules",939 "name": "Modules",940 "when": "inDebugMode && debugType == 'lldb-dap' && lldb-dap.showModules",941 "icon": "$(symbol-module)"942 }943 ]944 }945 }946}947