Lines Matching full:the
5 of the Russian Academy of Sciences.
7 This work is licensed under the terms of the GNU GPL, version 2 or later.
8 See the COPYING file in the top-level directory.
13 Record/replay functions are used for the deterministic replay of qemu execution.
15 used for replaying the execution anywhere and for unlimited number of times.
16 It also supports checkpointing for faster rewind to the specific replay moment.
17 Execution replaying reads the log and replays all non-deterministic events
20 Deterministic replay has the following features:
23 the memory, state of the hardware devices, clocks, and screen of the VM.
24 * Writes execution log into the file for later replaying for multiple times
32 Usage of the record/replay:
34 * First, record the execution with the following command line:
56 The only difference with recording is changing the rr option
58 * Block device images are not actually changed in the recording mode,
59 because all of the changes are written to the temporary overlay file.
74 from HDD or memory of the VM). Saving only non-deterministic events makes
77 The following non-deterministic data from peripheral devices is saved into
78 the log: mouse and keyboard input, network packets, audio controller input,
80 too, because their values are taken from the host machine). Inputs from
82 instructions are not saved into the log, because they are deterministic and
83 can be replayed by simulating the behavior of virtual machine starting from
91 of the virtual machine. Record/replay feature is enabled through ``-icount``
92 command-line option, making possible deterministic execution of the machine,
101 bdrv coroutine functions at the top of block drivers stack.
102 To record and replay block operations the drive must be configured
119 to recover the desired VM state. All VM states created in replay mode
120 are associated with the moment of time in the replay scenario.
121 After recovering the VM state replay will start from that position.
131 the execution.
133 ``snapshot`` flag of the disk image must be removed to save the snapshots
134 in the overlay (or original image) instead of using the temporary overlay.
142 created the snapshot and ``loadvm <name>`` restores it. To prevent corruption
143 of the original disk image, use overlay files linked to the original images.
144 Therefore all new snapshots (including the starting one) will be saved in
145 overlays and the original image remains unchanged.
149 for storing VM snapshots. Here is the example of the command line for this:
164 Record and replay for network interactions is performed with the network filter.
165 Each backend must have its own instance of the replay filter as follows:
172 recording the virtual machine this filter puts all packets coming from
173 the outer world into the log. In replay mode packets from the log are
174 injected into the network device. All interactions with network backend
180 Audio data is recorded and replay automatically. The command line for recording
189 Serial ports input is recorded and replay automatically. The command lines
197 Reverse debugging allows "executing" the program in reverse direction.
199 commands. The first one steps single instruction backwards in time,
200 and the second one finds the last breakpoint in the past.
203 execute the code in backwards direction, but can load a snapshot and
204 replay forward to find the desired position or breakpoint.
206 The following GDB commands are supported:
209 - ``reverse-continue`` (or ``rc``) - find last breakpoint in the past
211 Reverse step loads the nearest snapshot and replays the execution until
212 the required instruction is met.
214 Reverse continue may include several passes of examining the execution
215 between the snapshots. Each of the passes include the following steps:
217 #. loading the snapshot
218 #. replaying to examine the breakpoints
221 * loading the snapshot again
222 * replaying to the required breakpoint
226 * proceeding to the p.1 with the earlier snapshot
228 Therefore usage of the reverse debugging requires at least one snapshot
230 for the block drives and adding ``rrsnapshot`` for both record and replay
232 See the :ref:`snapshotting-label` section to learn more about running record/replay
233 and creating the snapshot in these modes.
237 temporary snapshots (existing within the session).