New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Core/DolphinQt: Add Pause on Panic Option for DSI Exceptions and Unknown Instruction #10175
Conversation
If you're not touching Jit64, you don't need to touch JitArm64 either. And if you're not touching JitArm64, you don't have to take that PR into account. |
9120958
to
20da8cf
Compare
|
I know you are also working on pausing for other panic alert types. Do you actually want to have a single option that enables pausing on panic handlers? Or would it be smarter to have the feature enabled by default, giving the user the choice between ignore/stop/break) for every (supported) panic alert except for MMU exceptions (which require either memchecks or interpeter). Also, should it be called Pause on Panic, or Break on Panic, with explicit mention of debugging in the tooltip? Talking about the tooltip, you probably want to mention that the cost is the same as enabling MMU. |
|
If we go with new default behavior I propose this. Though, read/writes exceptions would still need the checkbox to work properly under advanced. Maybe Pause would be hidden for those exceptions if not enabled. The truly ideal experience would be something like this. We should do away with "Ignore for this session" and instead just call it Ignore All. When the user Ends Emulation, then we would also automatically reset the 'Ignore for this session' flag, with respect to the Panic Handle option in Interface. Ignore would do what the current "Yes" behavior does. |
Well, in the MMU is enabled, you aren't going to get any MMU related panic alerts. Not sure if we have panic alerts inside a MMIO handler, which would be the only other source of memory instruction related panics. |
Oh I understand that. I just mean as far as performance hit its identical to MMU Enabled since both just have the memcheck flag on. |
3c75285
to
1acced4
Compare
|
I've updated this per suggestions. In another PR I will look at reworking the Panic MessageBox entirely, where we can then have behaviors like in my mock2 image #10175 (comment) , but this is a bigger effort that will affect a lot code. As-is I think it is ready to merge as a minor improvement. |
|
Going to rebase and resolve the conflicts. |
|
Migrated to new config format old: |
1acced4
to
5817803
Compare
5817803
to
bdbd013
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code LGTM, untested.
64df928
to
d8ebb3e
Compare
d8ebb3e
to
349c484
Compare
|
This would be very useful for me. Hope it gets merged soon. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Other than that, tested and it works as intended.
349c484
to
0a9bfe4
Compare
|
I think this would be better if it weren't persistent across launches. I definitely would use this if it got merged, but not every time I use Dolphin. Maybe it could go under Options alongside Boot to Pause? |
I'm not opposed to this, but seeing as its similar perf hit to MMU I think it makes sense to have the context under config->advanced. Open to other opinions though. |
|
Any news? |
d7f4730
to
6d7d28c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR still LGTM. You might want to squash the 2 commits into a single one with a proper commit message.
6d7d28c
to
78c6819
Compare
Done, rebased on latest master + squashed |
|
This PR looks ready to merge |
|
Can someone merge this or indicate why it’s not being merged |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still LGTM.



Overview
Pause on Panicto Config -> Advancedstw r4, r5where r5 is a non-valid address (ex 99232100)Why
TODO / Before Merge (All Done)
Does not yet save the checked state on program close.| DoneVerify the name "Pause on Panic Handles" is okay- open to different names.| Done (changed to Pause on Panic Handler)Expand to all PanicMessage types if reasonableOpted to only account for the most common scenarios DSI & Unknown Instruction. A future PR will rework the Yes/No/Ignore entirely, which will follow this Core/DolphinQt: Add Pause on Panic Option for DSI Exceptions and Unknown Instruction #10175 (comment).Do I need to account for this PR: JitArm64: Implement memcheck #10162 ?Nope, thanks JosJuice