A method of debugging software that executes in a multithreaded processor having
a plurality of microengines includes pausing program execution in threads of execution
within a target microengine, inserting a segment of executable code into an unused
section of the target microengine's microstore, executing the segment of executable
code in the target microengine and resuming program execution in the target microengine