[all-commits] [llvm/llvm-project] 0d4f12: [lldb-dap] Allow providing debug adapter arguments...

Matthew Bastien via All-commits all-commits at lists.llvm.org
Thu Mar 27 14:09:31 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0d4f12ee0046b83d28dbf3a8aca07a0f27b77786
      https://github.com/llvm/llvm-project/commit/0d4f12ee0046b83d28dbf3a8aca07a0f27b77786
  Author: Matthew Bastien <matthew_bastien at apple.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M lldb/tools/lldb-dap/package.json
    M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
    A lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts
    M lldb/tools/lldb-dap/src-ts/extension.ts
    A lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts
    A lldb/tools/lldb-dap/src-ts/ui/error-with-notification.ts
    A lldb/tools/lldb-dap/src-ts/ui/show-error-message.ts

  Log Message:
  -----------
  [lldb-dap] Allow providing debug adapter arguments in the extension (#129262)

Added a new setting called `lldb-dap.arguments` and a debug
configuration attribute called `debugAdapterArgs` that can be used to
set the arguments used to launch the debug adapter. Right now this is
mostly useful for debugging purposes to add the `--wait-for-debugger`
option to lldb-dap.

Additionally, the extension will now check for a changed lldb-dap
executable or arguments when launching a debug session in server mode. I
had to add a new `DebugConfigurationProvider` to do this because VSCode
will show an unhelpful error modal when the
`DebugAdapterDescriptorFactory` returns `undefined`.

In order to facilitate this, I had to add two new properties to the
launch configuration that are used by the
`DebugAdapterDescriptorFactory` to tell VS Code how to launch the debug
adapter:

- `debugAdapterHostname` - the hostname for an existing lldb-dap server
- `debugAdapterPort` - the port for an existing lldb-dap server

I've also removed the check for the `executable` argument in
`LLDBDapDescriptorFactory.createDebugAdapterDescriptor()`. This argument
is only set by VS Code when the debug adapter executable properties are
set in the `package.json`. The LLDB DAP extension does not currently do
this (and I don't think it ever will). So, this makes the debug adapter
descriptor factory a little easier to read.

The check for whether or not `lldb-dap` exists has been moved into the
new `DebugConfigurationProvider` as well. This way the extension won't
get in the user's way unless they actually try to start a debugging
session. The error will show up as a modal which will also make it more
obvious when something goes wrong, rather than popping up as a warning
at the bottom right of the screen.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list