Commit Graph
93 Commits
Author SHA1 Message Date
KiwiYuandClaude Opus 5.5 2d4e633fe6 ImDebugger: Add a quick scroll strip for touch screens
A thin floating strip on the right edge with Top, PgUp, Up, Down, PgDn
and End buttons, acting on the last debugger window the user touched
(its name is shown under the buttons). Regular ImGui windows are
scrolled directly. The CPU disassembly and the memory viewers get key
presses instead, and Top/End go to the start or end of RAM.

The strip can be collapsed to a single button, or turned off from the
Misc menu.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-26 16:36:49 +01:00
KiwiYuandClaude Opus 5.5 559a7429ea ImDebugger: Add a compact menu layout and a bar left margin
The menus are split into lambdas, so they can be shown either side by
side or as submenus of a single "Menu" dropdown. The compact layout is
used on narrow screens, or when chosen from the Misc menu (the default
on phones).

The bar also gets an adjustable left margin (to keep the first button
clear of rounded screen corners, on by default on phones), slightly
taller menu rows in the compact layout, and a Running/Stepping
indicator.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-26 16:36:49 +01:00
Henrik RydgårdandClaude Opus 5.5 70988aa50c ImGui: Keep the context and debugger state when Android switches away
NativeShutdownGraphics, which Android runs whenever the app loses its
surface, destroyed the imgui context and the ImDebugger along with the
device objects, so window layout and debugger state reset on return.
Now only the device objects go there (the backend already recreates
them), and the context and debugger are torn down in NativeShutdown.
Both configs are still saved on device loss, in case the app is killed
in the background.

imgui.ini is now read and written through our File API rather than
imgui's fopen, which can't reach a memstick behind a content URI.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-24 14:14:42 +02:00
Henrik RydgårdandClaude Opus 5.5 2cfbbc001d ImDebugger: Symbol deletion, select in symbol list, callstack thread choice
- Symbol list: "Delete symbol" in the context menu, which leaves the code
  without a function (useful to test stack walks with missing symbols).
- Disassembly context menu: "Select in symbol list" selects the function in
  the list without moving the disassembly, clearing a filter that hides it.
- Callstacks: a thread selector (following the current thread by default, with
  a Current button), selectable frames, double-click to show the frame in the
  disassembly, and a context menu to show or copy frames.
- Threads: "Show callstack", "Go to PC" and "Go to entry" in the context menu.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-19 10:56:05 +02:00
Henrik RydgårdandClaude Opus 5.5 f982a6a475 Debugger: Fix the Win32 VFPU window at high DPI, implement it in ImDebugger
- Fixes #21636

The Win32 window drew with a fixed 12px font and hardcoded pixel offsets, so at
high DPI the grid ran under the (dialog-unit sized) tab bar. It now uses the
DPI-scaled debugger font, derives the layout from its metrics and the tab bar's
position, and sizes the window to fit. The HalfFloat, Bytes, Shorts and Ints
tabs, which used to show floats, now work.

The ImDebugger VFPU window, which was a TODO, shows the same grid and modes,
with changed values highlighted.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-16 13:42:06 +02:00
Henrik Rydgård f3d31846bb Enable breakpoint processing when stepping 2026-08-16 17:37:05 +02:00
Henrik Rydgård 59a21e11fd Code cleanup and improvements in ImGe 2026-06-12 23:51:43 +02:00
Henrik Rydgård c46774c923 Fix the ImGe debugger vertex list 2026-06-02 14:53:37 +02:00
Henrik Rydgård bb573e6e0c Well, it builds, but doesn't work yet. 2026-06-02 12:33:53 +02:00
Henrik Rydgård a317890c08 Remove the GPUDebugInterface class
Just a pointless extra layer in the class hiearchy, making it
unnecessarily hard to modify the interface.

Might as well hit GPUCommon directly.
2026-06-02 11:15:08 +02:00
Henrik Rydgård 0c077acc74 Do some include untangling, to limit the spread of the Windows.h include from SevenZipFileReader.h 2026-03-27 14:34:18 -06:00
Henrik Rydgård 8a431e2ec2 Add zoom feature to framebuffer list view in ImDebugger 2026-01-28 23:49:00 +01:00
Henrik Rydgård aba2813ea2 Scaffold it 2025-10-08 13:00:35 -06:00
Henrik Rydgård bbe1a7edc1 Add simple ParamSFO viewer to ImDebugger 2025-09-01 13:53:44 +02:00
Henrik Rydgård b5595ea450 Add simple imgui log window (just reads the short log ring buffer) 2025-08-29 00:04:54 +02:00
Henrik Rydgård 5b0d8c06c6 Add debug UI for granule mixer 2025-08-22 21:21:19 +02:00
Henrik Rydgård 87b155229f More work on the watch window 2025-08-15 22:36:05 +02:00
Henrik Rydgård d9b7e370f3 ImDebugger: Add initial implementation of a watch window 2025-08-15 21:58:32 +02:00
Henrik Rydgård 9e3d57167f Show sceAac contexts in ImDebugger 2025-07-20 19:30:35 +02:00
Henrik Rydgård ef97eb668a ImDebugger: Add a Time window to check various counters 2025-04-23 17:10:31 +02:00
Henrik Rydgård dc22638918 ImDebugger UI update 2025-04-14 23:36:45 +02:00
Henrik Rydgård 36204c7b57 ImDebugger: Initial support for displaying sceMpeg contexts 2025-04-13 15:53:35 +02:00
Henrik Rydgård ad17ec5fc8 Minor reorganization in ImDebugger 2025-04-09 11:58:31 +02:00
Henrik Rydgård 3676f4792e GE debugger: Split out the vertices window, show matrices in state window 2025-04-09 11:58:31 +02:00
Henrik Rydgård c1ae455ce8 Fix ImDebugger cleanup on exit 2025-04-07 13:03:33 +02:00
Henrik Rydgård 870a76328d ImDebugger: Add function to dump raw at3 frames from the atrac tool. 2025-04-02 13:30:34 +02:00
Henrik Rydgård 8cd28dfd82 Start work on real modules window in the debugger 2025-04-02 10:09:19 +02:00
Henrik Rydgård 4a15ff950c ImDebugger: Add new Modules windows, turn the old Modules window into what will be a symbol browser 2025-04-02 10:09:19 +02:00
Henrik Rydgård cf059ff84c Stub a lua console, add the sol lua wrapper library 2025-03-27 08:59:37 +01:00
Henrik Rydgård e70dd3b2df Break out AtracTrack into its own file. Add a little atrac analysis tool to ImDebugger (for future use) 2025-03-19 16:15:51 +01:00
Henrik Rydgård d11f8609ea Add an easy way to break into the imdebugger from assert messageboxs ("No") 2025-03-19 14:22:02 +01:00
Henrik Rydgård cef14adf67 Assorted logging fixes and cleanup 2025-03-18 13:48:12 +01:00
Henrik Rydgård 11e8b0d126 ImDebugger: Allow browsing memory tags in the memory views 2025-03-15 17:40:54 +01:00
Henrik Rydgård adbceabd93 Show fake-loaded HLE modules in the debugger. Notify Atrac of its address when one is loaded
Will be useful later.
2025-03-15 15:56:11 +01:00
Henrik Rydgård 89e031fb8a Logging cleanup 2025-03-08 23:39:22 +01:00
Henrik Rydgård 65df2bf016 ImDebugger: Add log config window, improve atrac window 2025-03-07 13:47:31 +01:00
Henrik Rydgård a6dbf76d5d Fix some more ImDebugger issues 2025-02-25 10:00:02 -06:00
Henrik Rydgård 99fa1d12fc ImDebugger: Fix various problems with dupe menu items and coloring of popups 2025-02-24 11:43:32 -06:00
Henrik Rydgård 34308a326c Add basic sceSas state viewer to debugger 2025-02-19 10:50:32 -06:00
Henrik Rydgård 2c11da1354 ImDebugger file browser: Add (slightly clunky) UI to extract individual files. 2025-02-13 17:11:11 -06:00
Henrik Rydgård 366fb9834e Add an ImDebugger window for PPSSPP internals, right now just for sysdirs 2025-01-23 10:29:28 +01:00
Henrik Rydgård 1aef267acc Add more information to ImDebugger (ApCtl) 2025-01-21 12:22:32 +01:00
Henrik Rydgård 9f8d21e7b8 Add some more debugger windows and info for networking stuff 2025-01-21 12:22:32 +01:00
Henrik Rydgård 08d251b5bc Add a memory dump window 2025-01-09 13:14:13 +01:00
Henrik Rydgård 698b73dd15 ImDebugger: Add Np and Sockets debugger windows, on a new Network menu 2025-01-08 16:29:18 +01:00
Henrik Rydgård b442183259 Add "Realtime" checkbox to pixel viewer 2024-12-21 14:19:50 +01:00
Henrik Rydgård 58adb379ea GE debugger improvements 2024-12-20 20:31:58 +01:00
Henrik Rydgård 3e198c53b2 More include cleanup 2024-12-18 13:57:26 +01:00
Henrik Rydgård db13c09c41 Add break-on-count (with rudimentary UI), break on block transfer 2024-12-17 11:24:07 +01:00
Henrik Rydgård 98661f64ea Split out a component from the ImGePixelViewerWindow 2024-12-15 20:20:31 +01:00