Project

General

Profile

Actions

Emulator Issues #9521

open

Debugger unable to follow routines

Added by megarockexe almost 8 years ago. Updated over 7 years ago.

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

0%

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

Description

Game Name?

Any game?

What's the problem? Describe what went wrong.

Debugger can't follow routines anymore.

What steps will reproduce the problem?

Set a breakpoint. Try to step through. It will always jump to some other routine, making it impossible to follow the intended routine.

Which versions of Dolphin did you test on? Does using an older version of Dolphin solve your issue? If yes, which versions of Dolphin used to work?

4.0-9222, 4.0-9237, 4.0-9285

Issue started happening at 9237. Prior versions worked fine. Current version (9285) still has the problem.

What are your PC specifications? (CPU, GPU, Operating System, more)

Intel Core i5 2500K
Nvidia GTX 650
Windows 10

Is there any other relevant information? (e.g. logs, screenshots,
configuration files)

Have tried a portable run of the emulator and the issue persists. CPU Emulator set to JIT Recompiler, if it's relevant. JITL Recompiler, though seemingly just as fast, frequently reported incorrect values in the debugger which led to games crashing after exiting routine inspection.

Actions #1

Updated by megarockexe almost 8 years ago

Issue started happening at 9249.

Actions #2

Updated by JosJuice almost 8 years ago

So 4.0-9247 works, but not 4.0-9249? Please note that the builds from that time on the download page are out of order.

Actions #3

Updated by megarockexe almost 8 years ago

JosJuice wrote:

So 4.0-9247 works, but not 4.0-9249? Please note that the builds from that time on the download page are out of order.

I got the numbers mixed up in the initial post. 9222 and 9237 works fine. 9249, 9251, 9267, and 9285 all had the same issue.

Actions #4

Updated by JosJuice almost 8 years ago

Please test the versions between 4.0-9237 and 4.0-9249 so we know exactly where it broke.

Actions #5

Updated by megarockexe almost 8 years ago

There are two versions between that: 9240 and 9242.
9242 seems to be when it started happening and based on the discussion for that PR, it sounds relevant.

Actions #6

Updated by megarockexe almost 8 years ago

I believe this is still happening even on 4.0-9418. Can't follow breakpoints and games are very prone to crashing when debugging.

Actions #7

Updated by phire almost 8 years ago

  • Status changed from New to Accepted
  • Priority changed from Normal to Urgent
  • Milestone set to Current
  • Regression changed from No to Yes

Looks like someone forgot about this.

It's PR 3800 (Make exceptions consistent across all JITs/Interpreters)

Does someone else have time to look into this? because I really don't.

Actions #8

Updated by flacs almost 8 years ago

megarockexe: Please clarify how to reproduce this bug. Where are you setting the breakpoint and on what kind of instruction? What do you mean by "step through"? (Step into, step over, ... ?) What do you mean by "following a routine"? (I assume you mean step over, but that seems to work for me.) What do you mean by "exiting routine inspection"? If you specify which game/address you're looking at, this would help us reproduce the issue.

Actions #9

Updated by flacs almost 8 years ago

  • Status changed from Accepted to Questionable
  • Priority changed from Urgent to Normal
  • Milestone deleted (Current)

Removing Milestone=Current, because people who use the debugger are unlikely to use a stable build, nobody has been able to reproduce the bug, and the debugger is known to be kinda buggy anyway.

Actions #10

Updated by megarockexe almost 8 years ago

flacs wrote:

megarockexe: Please clarify how to reproduce this bug. Where are you setting the breakpoint and on what kind of instruction? What do you mean by "step through"? (Step into, step over, ... ?) What do you mean by "following a routine"? (I assume you mean step over, but that seems to work for me.) What do you mean by "exiting routine inspection"? If you specify which game/address you're looking at, this would help us reproduce the issue.

I don't know what's changed since, but the reason I didn't specify a game is because I could have sworn it wasn't working as intended for several Wii games in those builds. Seems it only affects the Rock Band games, which really reduces the importance of the issue. Oh, and apparently also for Super Smash Bros Brawl.
I had several breakpoints set. The instruction doesn't really matter. Fastest way I can get the issue to happen is pausing the emulation as early as the strap usage screen. Most of the time, clicking the Stepping Into button a few times would throw the current instruction to a GQR Adds routine when it wasn't meant to go there. This would happen even with situational breakpoints I set. Because this jump is unintended, the game will often freeze. Actually, even pausing and unpausing the emulation a lot will freeze the game at the strap usage screen.
And this is on the JIT Recompiler core. I haven't changed any other settings since.

Actions #11

Updated by sammi-husky over 7 years ago

flacs wrote:

Removing Milestone=Current, because people who use the debugger are unlikely to use a stable build, nobody has been able to reproduce the bug, and the debugger is known to be kinda buggy anyway.

I realize this is an older issue, but this issue is still present and I may be able to help with explaining how to reproduce the error. Essentially any breakpoint is hit in Super Smash Bros. Brawl, as soon as i try stepping it steps to Brawl's ExternalInterruptHandler, (Brawl had function maps for the entire game left on the Korean disc, that's where i got the function name) then crashes after running through it. This makes debugging Brawl pretty much impossible in Dolphin 5.0.

The Handler is located at 801dd644 in Dolphin 5.0-321, in the current version however it seems that it jumps to the same function but at 0x500 with the same result

Actions

Also available in: Atom PDF