Files
ppsspp/UI/ImDebugger/ImCommand.h
T
Henrik RydgårdandClaude Opus 5 f9703217fc ImDebugger: right-click menu on memory blocks, with copy and breakpoint
The block list in the memory windows was navigation-only - click to jump there,
and that was it. Right-clicking a block now offers the two things you actually
want once you've found one:

- Copy info to clipboard. More than the status bar shows (range, size, the PC
  that allocated it, ticks, flags, allocated state), since the reason to copy it
  is to keep it - for a bug report or to compare two runs.
- Add memory breakpoint, covering the whole block rather than a single address.
  That's the point of doing it from this list: you want to catch anything
  touching the allocation, not one byte of it. Read and write, pause and log.
  It then opens and focuses the Breakpoints window, via a new SHOW_IN_BREAKPOINTS
  command so window activation stays with the other ImCmds rather than poking at
  the config from here.

Only on the blocks themselves, not on the synthetic "(start)" and "(end)"
entries, which have no block info behind them to copy or watch.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GZq8ZtJmFY7bkX5FVkr3P9
2026-08-18 13:42:13 +02:00

26 lines
585 B
C++

#pragma once
#include <cstdint>
enum class ImCmd {
NONE = 0,
TRIGGER_FIND_POPUP,
SHOW_IN_CPU_DISASM,
SHOW_IN_GE_DISASM,
SHOW_IN_MEMORY_VIEWER, // param is address, param2 is viewer index
SHOW_IN_PIXEL_VIEWER, // param is address, param2 is stride, |0x80000000 if depth, param3 is w/h
SHOW_IN_MEMORY_DUMPER, // param is address, param2 is size, param3 is mode
SHOW_IN_BREAKPOINTS, // no params, just opens and focuses the breakpoint list
};
struct ImCommand {
ImCmd cmd;
uint32_t param;
uint32_t param2;
uint32_t param3;
};
struct ImControl {
ImCommand command;
};