llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
28.51k stars 11.79k forks source link

Breakpoints show up as Unverified (hollow gray circle) in lldb-dap #112629

Open JDevlieghere opened 2 hours ago

JDevlieghere commented 2 hours ago

I'm debugging lldb from VSCode, using lldb-dap from current ToT:

(lldb) version
lldb version 20.0.0git (git@github.com:llvm/llvm-project.git revision de1a1c4cfb5a8c3fc47194275fcc8fc48b7cbbf9)
  clang revision de1a1c4cfb5a8c3fc47194275fcc8fc48b7cbbf9
  llvm revision de1a1c4cfb5a8c3fc47194275fcc8fc48b7cbbf9

I set a breakpoint on Driver.cpp:786 (SBDebugger::PrintDiagnosticsOnError();). The breakpoint is hit, yet Visual Studio code still show it as "Unverified". Using breakpoint list I can confirm that the breakpoint was indeed resolved and hit:

(lldb) breakpoint list
Current breakpoints:
1: file = '/Users/jonas/llvm/llvm-project/lldb/tools/driver/Driver.cpp', line = 786, exact_match = 0, locations = 1, resolved = 1, hit count = 1
  Names:
    dap

  1.1: where = lldb`main + 1596 at Driver.cpp:786:3, address = 0x00000001007b07ac, resolved, hit count = 1 

The Breakpoints window shows the breakpoint as Unverified:

Screenshot 2024-10-16 at 4 01 40 PM

The icon is hidden by the current line icon, but after stepping over the same thing is visible in the gutter:

Screenshot 2024-10-16 at 4 04 27 PM
JDevlieghere commented 2 hours ago

Interestingly, if I set another breakpoint while attached, the new breakpoint, as well as existing breakpoints resolve right away.