cc65-dbg
This VS Code extension adds syntax and debugger support for cc65 and ca65.
Features
Works with an adapter/emulator supporting Debug Adapter Protocol (DAP).
You need to provide your own debugger or debug adapter as "command"
option,
which is able to communicate using DAP protocol over stdin/stdout or TCP socket.
The main job of this extension is to parse debug info file generated by
ld65 --dbgfile
and use the information to drive the debugger executable.
It expects the file to be placed beside the "program"
binary,
with .dbg
extension.
Screenshots
Breakpoints synchronization between Emulator and VS Code:

CPU registers inspector and watch:

Requirements
:warning: Following are violations of Debug Adapter Protocol, used to simplify
the DAP-debugger implementation for 8-bit machine emulators.
The extension will present the breakpoint memory addresses as lines
property
of SetBreakpoints Request. Debugger does not need to know anything
about the source structure - this is the job of the extension. It just needs to be able to
set memory breakpoints, pause and step through the program execution.
Breakpoints are presented in packs identified with sourceReference
number
(0
included) of Source descriptor. Your debugger endpoint should track the
source reference number of a breakpoint in order to remove it, when an update
for the pack is being received.
Emulators
List of emulators supporting this variation of DAP:
If you know any other, please create a PR with an update to the list.
Acknowledgements
This extension builds on code from:
Kudos to its authors!