[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v8 11/20] replay: introduce breakpoint at the sp
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH v8 11/20] replay: introduce breakpoint at the specified step |
Date: |
Wed, 19 Dec 2018 14:06:48 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Pavel Dovgalyuk <address@hidden> writes:
> This patch introduces replay_break, replay_delete_break
> qmp and hmp commands.
> These commands allow stopping at the specified instruction.
> It may be useful for debugging when there are some known
> events that should be investigated.
> replay_break command has one argument - number of instructions
> executed since the start of the replay.
> replay_delete_break removes previously set breakpoint.
>
> Signed-off-by: Pavel Dovgalyuk <address@hidden>
[...]
> diff --git a/qapi/misc.json b/qapi/misc.json
> index e47aea6..0bcb547 100644
> --- a/qapi/misc.json
> +++ b/qapi/misc.json
> @@ -3148,6 +3148,37 @@
> 'returns': 'ReplayInfo' }
>
> ##
> +# @replay-break:
> +#
> +# Set breakpoint on the specified step of the replay.
> +# Execution stops when the specified step is reached.
> +#
> +# @step: execution step to stop at
> +#
> +# Since: 4.0
> +#
> +# Example:
> +#
> +# -> { "execute": "replay-break", "data": { "step": 220414 } }
> +#
> +##
> +{ 'command': 'replay-break', 'data': { 'step': 'int' } }
> +
> +##
> +# @replay-delete-break:
> +#
> +# Removes replay breakpoint.
> +#
> +# Since: 4.0
> +#
> +# Example:
> +#
> +# -> { "execute": "replay-delete-break" }
> +#
> +##
> +{ 'command': 'replay-delete-break' }
> +
> +##
> # @xen-load-devices-state:
> #
> # Load the state of all devices from file. The RAM and the block devices
This interface can support at most one breakpoint. That's okay; if you
want to schedule multiple stops, you queue them further up the stack,
and use this command to set the next one before you resume execution.
If we ever decide to queue in QEMU, we'd have to add optional breakpoint
names to these functions, defaulting to some implied name. Not exactly
elegant, but workable.
What does replay-break do when the breakpoint has been set already?
What does it do when @step is in the past?
What does replay-delete-break do when no breakpoint has been set?
The answers to these questions need to be worked into the comamnd
documentation.
As mentioned in review of PATCH 10, having the documentation point to
query-replay might make sense.
[...]
- [Qemu-devel] [PATCH v8 04/20] replay: update docs for record/replay with block devices, (continued)
- [Qemu-devel] [PATCH v8 04/20] replay: update docs for record/replay with block devices, Pavel Dovgalyuk, 2018/12/18
- [Qemu-devel] [PATCH v8 06/20] replay: finish record/replay before closing the disks, Pavel Dovgalyuk, 2018/12/18
- [Qemu-devel] [PATCH v8 05/20] replay: don't drain/flush bdrv queue while RR is working, Pavel Dovgalyuk, 2018/12/18
- [Qemu-devel] [PATCH v8 07/20] qcow2: introduce icount field for snapshots, Pavel Dovgalyuk, 2018/12/18
- [Qemu-devel] [PATCH v8 08/20] migration: introduce icount field for snapshots, Pavel Dovgalyuk, 2018/12/18
- [Qemu-devel] [PATCH v8 09/20] replay: provide and accessor for rr filename, Pavel Dovgalyuk, 2018/12/18
- [Qemu-devel] [PATCH v8 10/20] replay: introduce info hmp/qmp command, Pavel Dovgalyuk, 2018/12/18
- [Qemu-devel] [PATCH v8 11/20] replay: introduce breakpoint at the specified step, Pavel Dovgalyuk, 2018/12/18
- Re: [Qemu-devel] [PATCH v8 11/20] replay: introduce breakpoint at the specified step,
Markus Armbruster <=
- [Qemu-devel] [PATCH v8 12/20] replay: implement replay-seek command to proceed to the desired step, Pavel Dovgalyuk, 2018/12/18
- [Qemu-devel] [PATCH v8 13/20] replay: refine replay-time module, Pavel Dovgalyuk, 2018/12/18
- [Qemu-devel] [PATCH v8 14/20] replay: flush rr queue before loading the vmstate, Pavel Dovgalyuk, 2018/12/18
- [Qemu-devel] [PATCH v8 15/20] gdbstub: add reverse step support in replay mode, Pavel Dovgalyuk, 2018/12/18
- [Qemu-devel] [PATCH v8 16/20] gdbstub: add reverse continue support in replay mode, Pavel Dovgalyuk, 2018/12/18
- [Qemu-devel] [PATCH v8 17/20] replay: describe reverse debugging in docs/replay.txt, Pavel Dovgalyuk, 2018/12/18
- [Qemu-devel] [PATCH v8 18/20] replay: add BH oneshot event for block layer, Pavel Dovgalyuk, 2018/12/18
- [Qemu-devel] [PATCH v8 19/20] replay: init rtc after enabling the replay, Pavel Dovgalyuk, 2018/12/18
- [Qemu-devel] [PATCH v8 20/20] replay: document development rules, Pavel Dovgalyuk, 2018/12/18