Debugging grid systems is complex, mainly because of the probe effect and non reproducible execution. The probe effect arises when an attempt to monitor a system changes the behavior of that system. Moreover, two executions of a distributed system with identical inputs may behave differently due to non determinism. Execution replay is a technique developed to facilitate the debugging of distributed systems: a debugger first monitors the execution of a distributed system and then replays it identically. Existing approaches to execution replay only partially address the probe effect and irreproducibility problem. In this paper, we argue for execution replay of distributed systems using a virtual machine approach. The VM approach addresses the irreproducibility problem, it does not completely avoid the probe effect. Nevertheless, we believe that the full control of the virtual hardware addresses the probe issue well enough to debug distributed system errors.