![]() Breakpoints and locks may be placed on addresses by right-clicking the displayed bytes or using the shortcut keys described below. The memory viewer is used to monitor and edit memory. F3: Step over (Execute command, advance PC to return address if command was a JAL).F2: Step (Execute command, break on next command).Blue label: Read breakpoint exists for this register.Red label: Write breakpoint exists for this register.Blue value: Current instruction reads this register.Red value: Current instruction writes to this register.Red: Stack frame free (end of subroutine).Blue: Stack frame allocation (start of subroutine).Brown address: Temporary PC breakpoint set at this address.Red address: PC breakpoint set at this address.Highlighted in yellow: PC is at this address.Note that edits are temporary they are not saved to the ROM file. Edited code will appear magenta in the command list. Editing codeĬode may be edited by clicking the "Edit code" option in the context menu. If you wish to set a breakpoint on a memory-mapped register, it can be done from the memory viewer window. Register read and write breakpoints may be toggled by clicking or right clicking the register labels.Ĭurrently, only general purpose registers are supported. The "Run to line" option may be used to set a temporary breakpoint. PC breakpoints may be toggled by double-clicking addresses or by clicking the "Toggle breakpoint" option in the context menu. ![]() The Commands tool is used to read, edit, and debug assembly code, monitor CPU and memory-mapped registers, and manage program counter (PC) and register breakpoints. Conditional breakpoints may be set via the scripting API using events interface callbacks and the debug.breakhere() function. Conditional BreakpointsĬonditional breakpoints pause the CPU when a user-defined condition is met. CPU Exception breakpoints may be set or cleared via the checkboxes in the CPU Exception Breakpoints window. Exception BreakpointsĮxception breakpoints pause the CPU at an exception vector when a specified exception or interrupt is asserted. Register read & write breakpoints may be set by clicking or right clicking the labels for the general-purpose registers (GPR) in the Commands window. Register read & write breakpoints pause the CPU when an instruction is about to read or write to a specified register. Memory read & write breakpoints may be set or cleared by right clicking bytes in the Memory window. Memory write breakpoints also pause on PI DMA transfers from cartridge ROM to RDRAM. Memory read & write breakpoints pause the CPU when an instruction is about to read or write to a specified address in memory. PC breakpoints may be set or cleared by double-clicking instructions in the Commands window. Program counter (PC) breakpoints pause the CPU when an instruction at a specified address is about to be executed. Project64's debugger provides the following breakpoint types: Note that for optimization reasons Project64 uses little-endian byte ordering for RDRAM, so string data may not appear in the correct order when viewed from an external application. This setting will force Project64 to always allocate RDRAM at 0x20000000 in process memory. To enable it, open Config/Project64.cfg in a text editor and add Fixed Rdram Address=536870912 under. Project64’s debugger includes a built-in memory scanning tool, but if you would like to use a 3rd-party memory scanner like Cheat Engine, Project64’s “Fixed Rdram Address” setting may be used to make address resolution simpler. (Recommended) In advanced settings, check “Always use interpreter core”Įnabling the “Always use interpreter core” option will negatively impact game performance, but it is required for some of the debugging features to function.In advanced settings, check “Enable debugger”.Uncheck “Hide advanced settings” and “Pause emulation when window is not active”.You can post feature suggestions to the discussion thread:Ī few settings must be applied to enable Project64’s debugging tools. If you have a bug report please post it to the issue tracker: Unfinished features that are not yet integrated may be found on this Github fork: To get a version of the emulator with debugging features included, you can download the latest nightly build or build it yourself from source: Most of Project64’s debugging tools are relatively new, so they are not available in a stable release at this time.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |