mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-04-24 21:56:10 +03:00
[GH-ISSUE #4158] Discussing Breakpoint improvements #1688
Labels
No labels
Atrac3+
Audio
CPU emulation
D3D11
D3D9 (removed)
Depth / Z
Feature Request
Font Atlas
GE emulation
Guardband / Range Culling
HLE/Kernel
I/O
Input/Controller
MP3
Multithreading
Needs hardware testing
Networking/adhoc/infrastructure
No Feedback / Outdated?
OpenGL
PGF / sceFont
PSMF / MPEG
Platform-specific (Android)
Platform-specific (Windows)
Platform-specific (iOS)
PowerVR GPU
SDL2
Saving issue
User Interface
Vulkan
arm64jit
armjit
armv6
x86jit
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/ppsspp#1688
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @mchubby on GitHub (Oct 13, 2013).
Original GitHub issue: https://github.com/hrydgard/ppsspp/issues/4158
PPSSPP has made huge leaps recently in the debugging department thanks to great contributions by @Kingcom and @unknownbrackets (#2584, #3366).
I'm opening this meta-issue to discuss what improvements could be made to make it even awesomer.
Feel free to input your opinion below.
Here is the current state of the Breakpoint Window:
Log breakpoints are not a specific type of breakpoint, rather it is a breakpoint which triggers an action, which is logging an expression.
They offer the choice to not enter debug mode when hit.
Let's review what options are offered in other debuggers:
OllyDbg offers to execute diverse actions depending on whether a condition is fulfilled, etc. It can also cast the logged expression to a struct/string/etc. pointer for proper display.
OllyDbg goes a bit further, removes support for plugin (temp?) and is able to log several expressions
VS has more basic logging, but being a source-based debugger, can support symbols as well.
Actions
if bp.expr.valid(): log(expr.eval(currMIPS))#2 - Enhancements to memory view
Actions
Mockup
Other improvements
Sorry if it looks like a wishlist of mine... Also, I do not use the Ge debugger so can't comment on it.
@unknownbrackets commented on GitHub (Oct 20, 2013):
Logging doesn't seem crazy, but I don't really see myself using it much. I could definitely be wrong.
Definitely one could do a lot more with the memory view.
Well, iirc, "on change" doesn't work. It could work by, every time it breaks, checking the value and setting the old historic value if it changed or something.
Symbols - there's a config setting for that, AutoSaveSymbolMap. Set it in ppsspp.ini.
I actually like it "forgetting" breakpoints on restart, which is what Visual Studio does I thought. I wouldn't mind if it remembered them and just had them disabled by default, though. They're almost "bookmarks" (which is a feature of Visual Studio I use quite a bit.) Labels probably make sense if we keep them.
Memory breakpoints when HLE writes is a pain. The biggest problem is that it will cause a performance impact (even when there are no breakpoints) if done the most obvious way. But we'll want to do it eventually.
-[Unknown]
@unknownbrackets commented on GitHub (Jun 9, 2018):
Log messages now exist - and now that we have a debugger API (#10909), a lot of these features could be automated via API client for specific use cases - which I think is more powerful.
We also do now have a navigation stack (so does the web debugger UI already.)
I'm going to close this - we can open specific issues for specific improvements.
-[Unknown]