1. A method of debugging code that executes in a multithreaded processor having a plurality of microengines comprises: receiving a journal write command and an identification representing a selected one of the plurality of microengines from a remote user interface connected to the processor; pausing program execution in the threads executing in the selected microengine; inserting a journal write command at a current program counter in the selected microengine; resuming program execution in the selected microengine; executing a write to a journal routine if program execution in the selected microengine encounters the journal write command; and resuming program execution in the microengine.