1. A method of tracing memory in a hardware emulator, comprising: identifying a first Random Access Memory, the first Random Access Memory having data associated with a user design during emulation and resulting from a plurality of write requests stored thereon; capturing a copy of the contents of the first Random Access Memory at a point in time in a separate second Random Access Memory; and copying the captured contents from the second Random Access Memory for the purpose of tracing memory, during which time the user design may modify the data in the first Random Access Memory while the captured contents within the second Random Access Memory remain unmodifiable.