Emulator Issues #13828
openUnify debug widget behavior on stopping emulation
0%
Description
Currently, all the debug widgets have different behavior when stopping emulation:
- The Code widget clears out instructions and associated data but updates the address to where the PC was when stopped.
- The Branch Watch Tool leaves everything how it was.
- The Registers widget leaves everything how it was the last time it updated. Scrolling shows the entire state.
- The Threads widget clears out everything except for the state info.
- The Watch widget is not interactable. It shows the watches that existed the last time it updated.
- The Breakpoints widget is cleared.
- The Memory widget leaves everything how it was the last time it updated (either from being paused or having auto-update enabled). Scrolling shows dashes in all memory locations that weren't visible at that time.
- The Network widget's socket table and SSL context are not interactable and show the state from the last time they updated.
- The JIT widget is cleared, though it maintains the state of whether or not it is profiling.
These should all be completely cleared to the same state as before starting emulation. (I'm not including the Assembler widget, as it's basically just a text editor with no connection to the game being emulated.)
Updated by Amphitryon 29 days ago
- Has duplicate Emulator Issues #13825: Memory widget not cleared on stop added
Updated by taolas 1 day ago
Hey thanks for all the debugger feedback.
Some consideration has to be given for a game crashing and then possibly being reloading it.
Branch Watch can crash a game and still need to be used when reloading it, so it is not cleared.
Registers might be useful to check on a crash.
I'm not sure if there's any point in keeping data in the code or memory widget(s). Maybe the user can take note of some values in the memory widget on crash. I don't use threads, network, or jit, so not sure.
It sounds like some things could be more thoroughly cleared.