[lldb-dap] wrong breakpoint verified status
- Dominant language
- LLVM
- Stars
- 40.5k
- Forks
- 18.7k
- PR merge metrics
- PR metrics pending
Description
To reproduce, debug the following program with lldb-dap from Xcode 26.0.1 and one breakpoint:
```
#include
int main() {
std::cout << "ok\n";
std::cout << "ok\n"; // break
std::cout << "ok\n";
}
```
Lldb dap first replies that the breakpoint is verified:
```
1759217371.887020111 <--
Content-Length: 294
{
"body": {
"breakpoints": [
{
"column": 13,
"id": 1,
"instructionReference": "0x100000CF8",
"line": 5,
"source": {
"name": "main.cpp",
"path": "/Users/dmitry.neverov/w/a/CLionProjects/playgroundCpp/main.cpp"
},
"verified": true
}
]
},
"command": "setBreakpoints",
"request_seq": 3,
"seq": 0,
"success": true,
"type": "response"
}
```
and then later sends an event where the breakpoint is not verified:
```
1759217371.916330099 <--
Content-Length: 177
{
"body": {
"breakpoint": {
"column": 13,
"id": 1,
"instructionReference": "0xFFFFFFFFFFFFFFFF",
"line": 5,
"verified": false
},
"reason": "changed"
},
"event": "breakpoint",
"seq": 0,
"type": "event"
}
```
The program successfully stops at the breakpoint, so the `verified` flag in the breakpoint is wrong.
[lldb_dap.log](https://github.com/user-attachments/files/22613097/lldb_dap.log)
Contributor guide
Research direction
Start with the lldb-dap breakpoint flow using the supplied main.cpp reproduction and lldb_dap.log. Compare the initial setBreakpoints response with the later breakpoint event, especially verified and instructionReference. Done when a breakpoint that successfully stops remains reported as verified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100