| |
metalux
Registered: Aug 2011 Posts: 17 |
Visual Studio Code debugger
Has there been any attempts to write a debugger for Visual Studio Code with its Debugging API? Would it even be possible? Maybe it's possible to use the remote monitor in VICE. Any ideas? See https://code.visualstudio.com/docs/extensions/example-debuggers. |
|
| |
oziphantom
Registered: Oct 2014 Posts: 490 |
You would need to make a separate program that is debug adapter program that translates the VS Code debug protocol to VICE Remote Monitor. You could do it, GDB and a Monitor are not that different conceptually, but VS Code is aimed at high level languages more than the needs of ASM. No Memory view for example.
TASS64 has this handy feature that it will output a listing with the filename, line number and hex address. So your go between program could use that listing to map VICE address back to source file and source line.
I would want a solid 'Itellisense' plugin first. |
| |
sP0CkEr2
Registered: Sep 2017 Posts: 2 |
This is already happening here.
https://gitlab.com/Retro65/kickass-vscode-ext
I replied on the same question on FB yesterday.
Long Term the strategy is to add debugging, either through VICE or C64Debugger.
Right now, the focus is on Syntax and Developer helpers. |
| |
Endurion
Registered: Mar 2007 Posts: 73 |
It could be done via the remote monitor feature of VICE, however it's a really bad interface for a machine. Even subtle changes in the output (one line more, etc.) break the interface.
C64Studio uses that interface, and while it usually works 99% there are corner cases. I'm so far as to work on a own simple emulator to get solid debugging going. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
as for VICE, debuggers should use the binary interface, not the remote monitor.... it should be fairly easy to expand it a bit so you can get the entire machine state through it. (it should be a whole lot faster too) |
| |
Martin Piper
Registered: Nov 2007 Posts: 722 |
Would that be the undocumented "hunt through the source" binary interface? |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
indeed (although there is a bit of documentation in comments in the code) |
| |
sP0CkEr2
Registered: Sep 2017 Posts: 2 |
Uggh. If I am going to do that then I would much rather interface with C64Debugger than VICE (yes I know C64DB uses VICE). If the Remote monitor works 99% of the time, is that not "good enough" for most. There are edge cases everywhere, don't want to stop progress just because of those. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
Quote:If the Remote monitor works 99% of the time, is that not "good enough" for most.
the problem with that is that the monitor output is a moving target, it may change without notice at any time. the binary interface wont. binary interface is also much simpler (and does not require to parse the monitor output) so its probably less work to read through the source to understand how to use it :) |
| |
Endurion
Registered: Mar 2007 Posts: 73 |
What binary interface?
The $02 one that only supports mem dumps and has a really really unfortunate decision on the parameters it requires? |