I have been recently attempting to integrate my BMP into the rest of my debug tooling. I use neovim and due to existing plugin limitations, my only option appears to be using gdb --interpreter dap or lldb-dap.
Unfortunately, both seem to be lacking in support for extended-remote:
In the meantime, if a BMDA gdbserver could be started as follows, perhaps with an additional flag to specify that this should launch a server that performs these steps during connection, and one to break on entry.
blackmagic-bmda -M swdp_scan -E -w -V program.elf
This would put the BMP in a state where it is debuggable as a more standard setup where the remote already has a program running, you're attaching to it, and should be able to work with the standard remote rather than extended-remote. This should make BMDA both functional on new and older versions of both debuggers, whilst a fix is being made for both gdb and lldb to support extended-remote.
Additionally, in the LLDB bug report, it appears that they have some concerns about a suspicious ACK, received after running QStartNoAckMode and receiving OK .
I have been recently attempting to integrate my BMP into the rest of my debug tooling. I use neovim and due to existing plugin limitations, my only option appears to be using `gdb --interpreter dap` or `lldb-dap`.
Unfortunately, both seem to be lacking in support for `extended-remote`:
- [**GDB Bug 34133** – Crash when specifying --interpreter=dap and using the `attach` command while in an extended remote context.](https://sourceware.org/bugzilla/show_bug.cgi?id=34133)
- [[LLDB] "error: command is not implemented" on process plugin](https://github.com/llvm/llvm-project/issues/196535#issuecomment-4420757457)
In the meantime, if a BMDA gdbserver could be started as follows, perhaps with an additional flag to specify that this should launch a server that performs these steps during connection, and one to break on entry.
```blackmagic-bmda -M swdp_scan -E -w -V program.elf```
This would put the BMP in a state where it is debuggable as a more standard setup where the remote already has a program running, you're attaching to it, and should be able to work with the standard `remote` rather than `extended-remote`. This should make BMDA both functional on new and older versions of both debuggers, whilst a fix is being made for both `gdb` and `lldb` to support `extended-remote`.
Additionally, in the LLDB bug report, it appears that they [have some concerns](https://github.com/llvm/llvm-project/issues/196535#issuecomment-4407858385) about a suspicious ACK, received after running `QStartNoAckMode` and receiving `OK` .