Re: [hatari-devel] Re: Hatari debugging improvements / NatFeats Extension Patch |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
]
Hi,
On torstai 01 toukokuu 2014, Eero Tamminen wrote:
> I was thinking of some other potential debugging enhancements:
>
> * Showing exception debugging indication in statusbar
> (maybe one letter per exception type)
>
> * Keyboard shortcut for toggling exception debugging (AltGr + e)
>
> * "autostart" setting for --debug-except option. This would
> enable exception debugging automatically after TOS startup,
> if program autostarting is used. It would be enabled at point
> when TOS loads the autostart modified INF file, exception
> generating TOS HW tests should then already have been done
>
> * Loading debug symbols automatically when entering debugger, if:
> - there are no debug symbols
> - program counter is within program TEXT section
> - program has been started through GEMDOS emulation
> and its binary contains debug symbols
>
> * Removing program's debug symbols when it terminates, if they
> had been loaded automatically or through "symbols prg"
Besides the new --slowdown option, I've commited support for the last
three items above, and removed need for using --bios-intercept
when wanting to trace BIOS/XBIOS.
I'll look into statusbar expansion while waiting comments on
first two items above, and NF additions listed below.
- Eero
> Comments?
>
> On keskiviikko 30 huhtikuu 2014, Nicolas Pomarède wrote:
> > Le 30/04/2014 17:05, Mark Fechtner a écrit :
> > > here's a small patch I'm using for quite some time now and that is
> > > (to me at least) pretty helpfull while developing. Its a simple
> > > Native Features command that allows the guest programm to control
> > > wether Hatari is in fast forward mode or not.
>
> Same functionality is provided also by XBios(255) which can be enabled
> with "--bios-intercept". Xbios(255) accepts string in same format as
> Hatari control socket, and gives help on syntax errors. These strings
> can provide any debugger commands, for example with "setopt" command you
> can set command line options like "--fast-forward".
>
> Btw. natfeats.c code has NF_DEBUGGER command with same functionality as
> Xbios(255). However, NF_DEBUGGER is ifdeffed out, because I'm not sure
> whether access to all debugger features actually gives too much control
> for the emulated programs. With debugger commands (e.g. for saving data
> from RAM) it's possible to overwrite files on host file system etc.
>
> I had though to replace XBios(255) with NF_DEBUGGER, but maybe it's
> better to keep these APIs separate:
> - Xbios(255) continues provide string based access to all debugger
> features
> - NatFeats provides more standardized & structured access to most
> useful subset of Hatari functionality, but nothing that would allow
> emulated code to harm host
>
> So, I think I'll remove NF_DEBUGGER stuff from natfeats.c, and add
> instead there more explicit commands. Any wishes on that front, what
> you would think to be most useful?
>
> Potentially useful NF commands for debugging could be for example for:
> - setting tracing options
> - setting (CPU) history tracking
> - pausing [1]
> - slowdown [2]
> - screenshot [3]
>
> Opinions?
>
> [1] if program takes long time to get to the interesting point, it
> could automatically pause emulation when that has been reached
> so that you can go to coffee while waiting for that. :-)
>
> [2] I was thinking that I could add a new option to slow down Hatari
> execution, which would do a small additional wait on each VBL.
>
> [3] This causes file to be written to host disk, but as directory for
> that is predefined and fine name autogenerated, most it can do is
> fill the disk
>
>
> - Eero