OS: macOS 15 (Darwin 25.5.0), Apple Silicon (arm64)
VSCode version: 1.125.1
CodeLLDB version: 1.12.2 (regression from 1.12.1)
Compiler: Bazel-managed clang (Apple toolchain)
Debuggee: aarch64-apple-darwin, Mach-O with DWARF debug info
Breakpoints don't resolve when launching via vscode://vadimcn.vscode-lldb/launch/command URL
When launching a debug session via the launch/command URL handler (e.g. open "vscode://vadimcn.vscode-lldb/launch/command?ENV=val&/path/to/binary"), breakpoints show verified: false and never resolve, even though modules load with
symbolStatus: "Source debug info".
This works correctly in 1.12.1 — same URL, same binary, same workspace, breakpoints resolve and hit.
Launching the same binary via an identical launch.json entry also works in 1.12.2, so the regression is specific to URL-initiated sessions.
To reproduce
- Have a C++ binary built with debug info and a sourceMap configured via lldb.launch.sourceMap
- Launch via URL: open "vscode://vadimcn.vscode-lldb/launch/command?/path/to/binary"
- Breakpoint shows Resolved locations: 0, verified: false
- Binary runs to completion without stopping
Expected behavior (works in 1.12.1)
Breakpoint resolves after module load (Resolved locations: 1, verified: true), process stops at breakpoint.
Notes
- The URL handler code in extension.js is identical between 1.12.1 and 1.12.2 — the regression is in the debug session setup path
- The sourceMap from lldb.launch.sourceMap user setting is applied in both versions (visible in the resolved debug configuration)
- Using launch/config with an inline JSON config shows the same verified: false behavior in 1.12.2
1.12.2 (broken):
--> setBreakpoints: {"source":{"name":"my_test.cpp","path":"/Users/me/project/src/tests/my_test.cpp"},"lines":[41],"breakpoints":[{"line":41}]}
<-- setBreakpoints: {"breakpoints":[{"id":1,"message":"Resolved locations: 0","verified":false}]}
<-- module: {"name":"my_test","symbolStatus":"Source debug info","reason":"new"}
<-- exited: {"exitCode":0}
1.12.1 (working):
--> setBreakpoints: {"source":{"name":"my_test.cpp","path":"/Users/me/project/src/tests/my_test.cpp"},"lines":[41],"breakpoints":[{"line":41}]}
<-- setBreakpoints: {"breakpoints":[{"id":1,"line":41,"message":"Resolved locations: 0","verified":true}]}
<-- breakpoint: {"breakpoint":{"id":1,"line":41,"message":"Resolved locations: 1","verified":true},"reason":"changed"}
<-- stopped: {"hitBreakpointIds":[1],"reason":"breakpoint","threadId":100}
OS: macOS 15 (Darwin 25.5.0), Apple Silicon (arm64)
VSCode version: 1.125.1
CodeLLDB version: 1.12.2 (regression from 1.12.1)
Compiler: Bazel-managed clang (Apple toolchain)
Debuggee: aarch64-apple-darwin, Mach-O with DWARF debug info
Breakpoints don't resolve when launching via vscode://vadimcn.vscode-lldb/launch/command URL
When launching a debug session via the launch/command URL handler (e.g. open "vscode://vadimcn.vscode-lldb/launch/command?ENV=val&/path/to/binary"), breakpoints show verified: false and never resolve, even though modules load with
symbolStatus: "Source debug info".
This works correctly in 1.12.1 — same URL, same binary, same workspace, breakpoints resolve and hit.
Launching the same binary via an identical launch.json entry also works in 1.12.2, so the regression is specific to URL-initiated sessions.
To reproduce
Expected behavior (works in 1.12.1)
Breakpoint resolves after module load (Resolved locations: 1, verified: true), process stops at breakpoint.
Notes
1.12.2 (broken):
--> setBreakpoints: {"source":{"name":"my_test.cpp","path":"/Users/me/project/src/tests/my_test.cpp"},"lines":[41],"breakpoints":[{"line":41}]}
<-- setBreakpoints: {"breakpoints":[{"id":1,"message":"Resolved locations: 0","verified":false}]}
<-- module: {"name":"my_test","symbolStatus":"Source debug info","reason":"new"}
<-- exited: {"exitCode":0}
1.12.1 (working):
--> setBreakpoints: {"source":{"name":"my_test.cpp","path":"/Users/me/project/src/tests/my_test.cpp"},"lines":[41],"breakpoints":[{"line":41}]}
<-- setBreakpoints: {"breakpoints":[{"id":1,"line":41,"message":"Resolved locations: 0","verified":true}]}
<-- breakpoint: {"breakpoint":{"id":1,"line":41,"message":"Resolved locations: 1","verified":true},"reason":"changed"}
<-- stopped: {"hitBreakpointIds":[1],"reason":"breakpoint","threadId":100}