================ @@ -1,71 +1,30 @@ # LLDB DAP -## `lldb-dap` Configurations +## Procuring the `lldb-dap` binary -The extension requires the `lldb-dap` (formerly `lldb-vscode`) binary. It is a -command line tool that implements the [Debug Adapter -Protocol](https://microsoft.github.io/debug-adapter-protocol/). It is used to power the Visual Studio Code extension but can also be used with other IDEs and editors that support DAP. -The protocol is easy to run remotely and also can allow other tools and IDEs to -get a full featured debugger with a well defined protocol. +The extension requires the `lldb-dap` (formerly `lldb-vscode`) binary. +This binary is not currently packaged with the VS-Code extension. -## Launching & Attaching Configuration +There are multiple ways to obtain this binary: +* build it from source (see [LLDB's build instructions](https://lldb.llvm.org/resources/build.html)) +* download it 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. +* contact your toolchain vendor -Launching to attaching require you to create a [launch configuration](https://code.visualstudio.com/Docs/editor/debugging#_launch-configurations). -This file defines arguments that get passed to `lldb-dap` and the configuration settings control how the launch or attach happens. - -### Launch Configuration Settings - -When you launch a program with Visual Studio Code you will need to create a [launch.json](https://code.visualstudio.com/Docs/editor/debugging#_launch-configurations) -file that defines how your program will be run. The JSON configuration file can contain the following `lldb-dap` specific launch key/value pairs: - -|parameter |type|req | | -|-------------------|----|:--:|---------| -|**name** |string|Y| A configuration name that will be displayed in the IDE. -|**type** |string|Y| Must be "lldb-dap". -|**request** |string|Y| Must be "launch". -|**program** |string|Y| Path to the executable to launch. -|**args** |[string]|| An array of command line argument strings to be passed to the program being launched. -|**cwd** |string| | The program working directory. -|**env** |dictionary| | Environment variables to set when launching the program. The format of each environment variable string is "VAR=VALUE" for environment variables with values or just "VAR" for environment variables with no values. -|**stopOnEntry** |boolean| | Whether to stop program immediately after launching. -|**initCommands** |[string]| | LLDB commands executed upon debugger startup prior to creating the LLDB target. Commands and command output will be sent to the debugger console when they are executed. -|**preRunCommands** |[string]| | LLDB commands executed just before launching after the LLDB target has been created. Commands and command output will be sent to the debugger console when they are executed. -|**stopCommands** |[string]| | LLDB commands executed just after each stop. Commands and command output will be sent to the debugger console when they are executed. -|**launchCommands** |[string]| | LLDB commands executed to launch the program. Commands and command output will be sent to the debugger console when they are executed. -|**exitCommands** |[string]| | LLDB commands executed when the program exits. Commands and command output will be sent to the debugger console when they are executed. -|**terminateCommands** |[string]| | LLDB commands executed when the debugging session ends. Commands and command output will be sent to the debugger console when they are executed. -|**sourceMap** |[string[2]]| | Specify an array of path re-mappings. Each element in the array must be a two element array containing a source and destination pathname. -|**debuggerRoot** | string| |Specify a working directory to use when launching lldb-dap. If the debug information in your executable contains relative paths, this option can be used so that `lldb-dap` can find source files and object files that have relative paths. - -### Attaching Settings - -When attaching to a process using LLDB you can attach in a few ways +By default, the VS-Code extension will expect to find `lldb-dap` in your `PATH`. +Alternatively, you can explictly specify the location of the `lldb-dap` binary using the `lldb-dap.executable-path` setting. ---------------- jeffreytan81 wrote:
Is `lldb-dap.executable-path` a setting in VSCode? https://github.com/llvm/llvm-project/pull/109266 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits