Skip to content

launch/command URL handler: breakpoints unresolved (verified: false) in 1.12.2, works in 1.12.1 #1401

Description

@marcushultman

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

  1. Have a C++ binary built with debug info and a sourceMap configured via lldb.launch.sourceMap
  2. Launch via URL: open "vscode://vadimcn.vscode-lldb/launch/command?/path/to/binary"
  3. Breakpoint shows Resolved locations: 0, verified: false
  4. 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}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions