microsoft / microsoft/debug-adapter-protocol

Clarify the sequence for loading code/symbols

Open
#83 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

clarification
Dominant language
HTML
Stars
1.8k
Forks
173
Avg merge
7d 7h
Merged PRs (30d)
2

Description

The sequence diagram in the documentation under the section 'Configuring breakpoint and exception behavior' is confusing for the scenario where code or symbols needs to be loaded into the debug adapter.

The setBreakpoints request resolves to the GDB 'break' command, then the launch request resolves to the 'file' command. These are out-of-order, issuing a 'break' before 'file' results in: No symbol table is loaded. Use the "file" command.

I'm developing a debug adapter for an interpreter running on a microcontroller and would like some clarity around using the launch request to load code into the interpreter. By the time the launch request is issued, a setBreakpoints request has already been completed. Is it expected the debug adapter cache breakpoints until the launch request, then load the symbols/code, then set the breakpoints? Or is it expected that loading symbols/code is outside the responsibility of the debug adapter and should be handled by an extension contributed command? Or should the code be loaded in the 'initialize' request (which assumes the session is always launching, never attaching)?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the sequence diagram in the documentation under “Configuring breakpoint and exception behavior,” then compare the setBreakpoints and launch requests with the stated GDB break and file commands. Clarify the expected ordering and responsibility for loading code or symbols, and update the diagram and surrounding text so the microcontroller debug-adapter scenario has an unambiguous workflow.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.