1. A method for generating execution trace data for a program that executes on a target machine, comprising: determining each block of object code for the program to be instrumented, wherein at least one block of object code for the program is instrumented for executing on the target machine; and associating an instrumented object code block with a memory location of the target machine, such that, if the instrumented object code block is executed, a simulated trace probe is arranged to collect trace data that is written to the memory location.