| |
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.... |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
for that we have breakpoints =) |
| |
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? |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
its been a long time since I didnt understand an english sentence, so thank you for that :) |
| |
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. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
WAT
please forget "VM" and try again =) |
| |
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. |
| |
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. |
| |
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 |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
thanks I got it :) |
| |
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 |