Skip to content
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

debugger: add logging breakpoint and misc fixes #927

Merged
merged 2 commits into from
Aug 3, 2023

Conversation

Crementif
Copy link
Member

This PR introduces logging breakpoints, something which might be helpful if you want to analyze more complex interactions in the code. You can set these by right-clicking empty space in the breakpoint window. Some noteworthy features:

  • If you give the comment a name in the breakpoint window it'll also log it so that you can more easily identify multiple logging breakpoints.
  • If you enable advanced PPC debugging in the Debug->Logging menu you can also have it generate stack traces for each hit, which allows you to more easily see how the code ultimately ends up executing your code. Do note that the stack trace feature works best when Cemu is set to use interpreter mode.

Another "addition" is that the debugger will now store any breakpoints and comments across sessions. I'm not sure how it got broken, but at least now it doesn't lose all the comments and breakpoints you make after you restart Cemu.

Minor features/fixes include things like:

  • You can now also delete breakpoints by right-clicking them in the breakpoint window.
  • The GoTo window now prefers hex addresses, which allows you to enter non "0x" prefixed hex addresses more easily, which is especially useful for the breakpoint and memory dump windows.
  • You can now also create execution breakpoints with a manually inputted address in the breakpoint window, alongside the new logging breakpoints.
  • And some other minor fixes.

This introduces logging breakpoints, something which might be helpful if you want to analyze more complex interactions in the code.  You can set these by right-clicking empty space in the breakpoint window. Some noteworthy features:
 - If you give the comment a name in the breakpoint window it'll also log it so that you can more easily identify multiple logging breakpoints.
 - If you enable advanced PPC debugging in the Debug->Logging menu you can also have it generate stack traces for each hit, which allows you to more easily see how the code ultimately ends up executing your code. Do note that the stack trace feature works best when Cemu is set to use interpreter mode.

Minor features/fixes include things like:
 - You can now also delete breakpoints by right-clicking them in the breakpoint window.
 - The GoTo window now prefers hex addresses, which allows you to enter non "0x" prefixed hex addresses more easily, which is especially useful for the breakpoint and memory dump windows.
 - You can now also create execution breakpoints with a manually inputted address in the breakpoint window, alongside the new logging breakpoints.
 - And some other minor fixes.
I don't know how this ended up getting broken, but it should now make for a nicer experience that'll remember any debugger comments and breakpoints you make across sessions and game launches.
@Exzap
Copy link
Member

Exzap commented Aug 3, 2023

Looks good to me!

@Exzap Exzap merged commit 651e533 into cemu-project:main Aug 3, 2023
5 checks passed
@Crementif Crementif deleted the debugger branch August 3, 2023 13:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants