signals? crashes? etc. Are there things that simply cannot be
reproduced exactly, due to fundamental limitations of the replay
target?
Do you have an opinion about these concerns?
I would like to jump in here and point out that this will depend on the nature
of the target. Simics, and presumably other full-system simulation solutions,
can replay the entire IO of a machine. This includes any external IO that is
asynch to the simulator execution (such as network packets and user input).
Between machines in a simulated network of machines, replay is obviously
perfect.
If you try to do this on a live machine, it is a bit more tricky.
So this is best left to the underlying mechanism, in my experience.