You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[lldb-dap] Adding defaults to VSCode settings for user level defaults. (#137694)
This adds support for loading user level defaults in VSCode. The
defaults are stored as basic settings that are loaded when the debug
configuration is resolved. Not all settings are currently supported, I
limited it to settings that would likely apply across multiple
launch.json configurations.
This should resolve#134564
Copy file name to clipboardExpand all lines: lldb/tools/lldb-dap/README.md
+47-16Lines changed: 47 additions & 16 deletions
Original file line number
Diff line number
Diff line change
@@ -6,12 +6,13 @@ The extension requires the `lldb-dap` (formerly `lldb-vscode`) binary.
6
6
This binary is not packaged with the VS Code extension.
7
7
8
8
There are multiple ways to obtain this binary:
9
-
* Use the binary provided by your toolchain (for example `xcrun -f lldb-dap` on macOS) or contact your toolchain vendor to include it.
10
-
* Download one of the relase packages from the [LLVM release page](https://github.com/llvm/llvm-project/releases/). The `LLVM-19.1.0-{operating_system}.tar.xz` packages contain a prebuilt `lldb-dap` binary.
11
-
* Build it from source (see [LLDB's build instructions](https://lldb.llvm.org/resources/build.html)).
9
+
10
+
- Use the binary provided by your toolchain (for example `xcrun -f lldb-dap` on macOS) or contact your toolchain vendor to include it.
11
+
- Download one of the release packages from the [LLVM release page](https://github.com/llvm/llvm-project/releases/). The `LLVM-19.1.0-{operating_system}.tar.xz` packages contain a prebuilt `lldb-dap` binary.
12
+
- Build it from source (see [LLDB's build instructions](https://lldb.llvm.org/resources/build.html)).
12
13
13
14
By default, the VS Code extension will expect to find `lldb-dap` in your `PATH`.
14
-
Alternatively, you can explictly specify the location of the `lldb-dap` binary using the `lldb-dap.executable-path` setting.
15
+
Alternatively, you can explicitly specify the location of the `lldb-dap` binary using the `lldb-dap.executable-path` setting.
15
16
16
17
### Usage with other IDEs
17
18
@@ -144,7 +145,7 @@ instead of using the custom command `attachCommands`.
144
145
### Connect to a Debug Server on Another Machine
145
146
146
147
This connects to a debug server running on another machine with hostname
147
-
`hostnmame`. Which is debugging the program `/tmp/a.out` and listening on
148
+
`hostname`. Which is debugging the program `/tmp/a.out` and listening on
148
149
port `5678` of that other machine.
149
150
150
151
```javascript
@@ -162,7 +163,6 @@ to send an attach request to a debug server running on a different machine,
162
163
instead of custom command `attachCommands`.
163
164
The default hostname being used `localhost`.
164
165
165
-
166
166
```javascript
167
167
{
168
168
"name":"Local Debug Server",
@@ -212,7 +212,7 @@ specific key/value pairs:
212
212
| **customThreadFormat** | string | | Same as `customFrameFormat`, but for threads instead of stack frames.
213
213
| **displayExtendedBacktrace** | bool | | Enable language specific extended backtraces.
214
214
| **enableAutoVariableSummaries** | bool | | 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.
215
-
| **enableSyntheticChildDebugging** | bool | | 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.
215
+
| **enableSyntheticChildDebugging** | bool | | 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 synthetic child plug-ins as it lets you see the actual contents of the variable.
216
216
| **initCommands** | [string] | | LLDB commands executed upon debugger startup prior to creating the LLDB target.
217
217
| **preRunCommands** | [string] | | LLDB commands executed just before launching/attaching, after the LLDB target has been created.
218
218
| **stopCommands** | [string] | | LLDB commands executed just after each stop.
@@ -221,8 +221,9 @@ specific key/value pairs:
221
221
222
222
All commands and command outputs will be sent to the debugger console when they are executed.
223
223
Commands can be prefixed with `?` or `!` to modify their behavior:
224
-
* Commands prefixed with `?` are quiet on success, i.e. nothing is written to stdout if the command succeeds.
225
-
* Prefixing a command with `!` enables error checking: If a command prefixed with `!` fails, subsequent commands will not be run. This is usefule if one of the commands depends on another, as it will stop the chain of commands.
224
+
225
+
- Commands prefixed with `?` are quiet on success, i.e. nothing is written to stdout if the command succeeds.
226
+
- Prefixing a command with `!` enables error checking: If a command prefixed with `!` fails, subsequent commands will not be run. This is useful if one of the commands depends on another, as it will stop the chain of commands.
226
227
227
228
For JSON configurations of `"type": "launch"`, the JSON configuration can additionally
228
229
contain the following key/value pairs:
@@ -243,10 +244,40 @@ the following `lldb-dap` specific key/value pairs:
| **program** | string | | Path to the executable to attach to. This value is optional but can help to resolve breakpoints prior the attaching to the program.
246
-
| **pid** | number | | The process id of the process you wish to attach to. If **pid** is omitted, the debugger will attempt to attach to the program by finding a process whose file name matches the file name from **porgram**. Setting this value to `${command:pickMyProcess}` will allow interactive process selection in the IDE.
247
+
| **pid** | number | | The process id of the process you wish to attach to. If **pid** is omitted, the debugger will attempt to attach to the program by finding a process whose file name matches the file name from **program**. Setting this value to `${command:pickMyProcess}` will allow interactive process selection in the IDE.
247
248
| **waitFor** | boolean | | Wait for the process to launch.
248
249
| **attachCommands** | [string] | | LLDB commands that will be executed after **preRunCommands** which take place of the code that normally does the attach. The commands can create a new target and attach or launch it however desired. This allows custom launch and attach configurations. Core files can use `target create --core /path/to/core` to attach to core files.
249
250
251
+
### Configuring `lldb-dap` defaults
252
+
253
+
User settings can set the default value for the following supported
0 commit comments