Difference between revisions of "WinUAE debugger"
Spellcoder (talk | contribs) (intro, list of command, misc) |
Spellcoder (talk | contribs) (added screenshot) |
||
Line 1: | Line 1: | ||
+ | [[Image:WinUAE 1.5.3 Debugger.png|thumb|415px|right|WinUAE Debugger in action]] | ||
WinUAE (the Amiga emulator for Windows) can be used in three ways for debugging: | WinUAE (the Amiga emulator for Windows) can be used in three ways for debugging: | ||
Revision as of 02:42, 27 January 2009
WinUAE (the Amiga emulator for Windows) can be used in three ways for debugging:
- using the built-in debugger (shift+f12, type h<return> to see commands)
- using emulated freezer cartridges
- by creating a state file
(and using other software to rip/disassemble/edit from the memory dump)
This article is about the build-in debugger, which can be activated by pressing Shift-F12.
Commands
Command | Description |
---|---|
g [<address>] | Start execution at the current address or <address> |
c | Dump state of the CIA, disk drives and custom registers |
r | Dump state of the CPU |
r <reg> <value> | Modify CPU registers (Dx,Ax,USP,ISP,VBR,...) |
m <address> [<lines>] | Memory dump starting at <address> |
m r<register> | Memory dump starting at <register> |
d <address> [<lines>] | Disassembly starting at <address> |
t [instructions] | Step one or more instructions |
z | Step through one instruction - useful for JSR, DBRA etc |
f | Step forward until PC in RAM ("boot block finder") |
f <address> | Add/remove breakpoint |
fa <address> [<start>] [<end>] | Find effective address <address> |
fi | Step forward until PC points to RTS/RTD or RTE |
fi <opcode> | Step forward until PC points to <opcode> |
fp "<name>"/<addr> | Step forward until process <name> or <addr> is active |
fl | List breakpoints |
fd | Remove all breakpoints |
fs <val> <mask> | Break when (SR & mask) = val |
f <addr1> <addr2> | Step forward until <addr1> <= PC <= <addr2> |
e | Dump contents of all custom registers, ea = AGA colors |
i [<addr>] | Dump contents of interrupt and trap vectors |
addr> | [<lines>]View memory as Copper instructions |
od | Enable/disable Copper vpos/hpos tracing |
ot | Copper single step trace |
ob <addr> | Copper breakpoint |
O | Display bitplane offsets |
O <plane> <offset> | Offset a bitplane |
H[H] <cnt> | Show PC history (HH=full CPU info) <cnt> instructions |
C <value> | Search for values like energy or lifes in games |
Cl | List currently found trainer addresses |
D[idxzs <[max diff]>] | Deep trainer. i=new value must be larger, d=smaller, x = must be same, z = must be different, s = restart. |
W <address> <value> | Write into Amiga memory |
w <num> <address> <length> <R/W/I/F> [<value>] | (read/write/opcode/freeze) Add/remove memory watchpoints |
wd [<0-1>] | Enable illegal access logger. 1 = enable break. |
S <file> <addr> <n> | Save a block of Amiga memory |
s "<string>"/<values> [<addr>] [<length>] | Search for string/bytes |
T | Show exec tasks and their PCs |
b | Step to previous state capture position |
am <channel mask> | Enable or disable audio channels |
sm <sprite mask> | Enable or disable sprites |
sp <addr> [<addr2][<size>] | Dump sprite information |
di <mode> [<track>] | Break on disk access. R=DMA read,W=write,RW=both,P=PIO Also enables level 1 disk logging |
did <log level> | Enable disk logging |
dj [<level bitmask>] | Enable joystick/mouse input debugging |
smc [<0-1>] | Enable self-modifying code detector. 1 = enable break. |
dm | Dump current address space map |
?<value> | Hex/Bin/Dec converter |
x | Close debugger. |
xx | Switch between console and GUI debugger. |
mg <address> | Memory dump starting at <address> in GUI |
dg <address> | Disassembly starting at <address> in GUI |
q | Quit the emulator. You don't want to use this command. |
Numbers:
- are usually hexadecimal by default (a few exceptions default to decimal)
- prepend a number with $ or 0x force hexadecimal
- prepend a number with ! to force decimal