Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > VICE debug interface
2014-06-19 15:03
chatGPZ

Registered: Dec 2001
Posts: 11386
VICE debug interface

i want to add some simple mechanisms to VICE that will help with automatic regression testing (there are over 800 test programs now, running them all manually takes several hours) - this stuff might be interesting for coders writing c64 software as well, so before i start i am looking for some more ideas on what might be useful.... the whole thing would be implemented as either a cartridge or some special i/o device, so basically everything should be triggered by writing to certain registers. the minimal functionality i came up with looks like:
- exit vice with exit code (to signal the test suite success or error)
- print a string to console (with some kind of "printf" like functionality, so you can print contents of registers/memory easily)

what else may be useful?
 
... 32 posts hidden. Click here to view all posts....
 
2014-06-20 09:24
chatGPZ

Registered: Dec 2001
Posts: 11386
for that we have breakpoints =)
2014-06-20 09:37
Krill

Registered: Apr 2002
Posts: 2980
Can you currently comfortably trigger host-level breakpoints from guest code, such that you can trap into a host debugger to debug VICE code by doing something in the emulated machine?
2014-06-20 10:03
Oswald

Registered: Apr 2002
Posts: 5094
its been a long time since I didnt understand an english sentence, so thank you for that :)
2014-06-20 10:16
Krill

Registered: Apr 2002
Posts: 2980
It's been a long time since my contributions to VICE, so my info may be a bit outdated. I just meant that when debugging a virtual machine, you're dealing with two code levels, the code running inside the VM and the actual VM code. Breakpoints can be set in either of them, but i'm not sure if you can currently run some code inside the VM to comfortably break into a debugger for the VM code itself.

With "comfortably" i mean not simply setting a breakpoint on some VM code which would trap into the debugger whenever passing it, but trigger that breakpoint from guest code running inside the VM depending on guest program state. Effectively, that would just require a special op-code or accessing a special IO register.

But i guess with the focus on regression testing, this is really not required.
2014-06-20 10:26
chatGPZ

Registered: Dec 2001
Posts: 11386
WAT

please forget "VM" and try again =)
2014-06-20 10:26
Krill

Registered: Apr 2002
Posts: 2980
Hmm, still off-topic, but generally a "hypervisor call" capability would be nice. Pass a string to VICE which would then be parsed and executed by VICE itself or some external means, with the result being passed back to the program running inside VICE.
2014-06-20 10:28
Krill

Registered: Apr 2002
Posts: 2980
Quote: WAT

please forget "VM" and try again =)


Note sure what you mean. VM in this case is VICE, as an emulator implements a virtual machine.
2014-06-20 10:40
chatGPZ

Registered: Dec 2001
Posts: 11386
i know that. however what you wrote requires interaction with not only the vice code, but also with whatever debugger is attached to it - thats completely beyond the scope of the original question, and probably not even possible in any practical way. remember this is a portable real world program that runs on dozens completely different environments, with completely different capabilities and architectures =P
2014-06-20 11:37
Oswald

Registered: Apr 2002
Posts: 5094
thanks I got it :)
2014-06-20 14:42
Flavioweb

Registered: Nov 2011
Posts: 463
What about a "redirect to console" to redirect monitor output that can be saved directly to a file?
Can be useful to save to file the output of trace command or similar things...
Previous - 1 | 2 | 3 | 4 | 5 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Brush/Elysium
zscs
ΛΛdZ
Guests online: 100
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 No Listen  (9.6)
2 Layers  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.3)
Top Fullscreen Graphicians
1 Joe  (9.7)
2 Sulevi  (9.6)
3 The Sarge  (9.6)
4 Veto  (9.6)
5 Facet  (9.6)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.054 sec.