qemu-devel
[Top][All Lists]
Advanced

[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.

[...]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]