New debugger features in Spectaculator 9 – Part 1: Breakpoints

This is the first in a series of blog posts I’ll be writing about the new debugger features in the up and coming version 9 of Spectaculator.

The monitor/debugger in Spectaculator is probably the one feature I’ve never really been happy with. It works, but it’s pretty basic.

For Spectaculator 9, the feature has been completely overhauled making it much more powerful and useful.

I’ve been using it extensively to create the dynamic patches for the games included with the iPhone/iPod/iPad version (these patches automatically configure the game control on-the-fly amongst other things).

Breakpoints

Breakpoints have had a big overhaul and now come in two flavours – Memory Read/Write/Execute and I/O Read/Write:

Additionally, a condition can be set using C-like expression syntax. The breakpoint will only break if the address it hit and the expression evaluates to true.

Other new features include:

  • Enabling/disabling of breakpoints.
  • Making breakpoints memory page-specific.
  • Breaking after a certain number of passes over the breakpoint.
  • Setting a label for easy identification.