Project

General

Profile

Actions

Emulator Issues #13828

open

Unify debug widget behavior on stopping emulation

Added by Amphitryon 29 days ago. Updated 1 day ago.

Status:
New
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Feature request
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

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.)


Related issues 1 (0 open1 closed)

Has duplicate Emulator - Emulator Issues #13825: Memory widget not cleared on stopDuplicate

Actions
Actions #1

Updated by Amphitryon 29 days ago

Actions #2

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.

Actions

Also available in: Atom PDF