[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 09/15] replay: implement replay-seek command
From: |
Alex Bennée |
Subject: |
Re: [PATCH v3 09/15] replay: implement replay-seek command |
Date: |
Tue, 08 Sep 2020 10:13:09 +0100 |
User-agent: |
mu4e 1.5.5; emacs 28.0.50 |
Pavel Dovgalyuk <pavel.dovgalyuk@ispras.ru> writes:
> On 07.09.2020 19:25, Alex Bennée wrote:
>>
>> Pavel Dovgalyuk <pavel.dovgalyuk@ispras.ru> writes:
>>
>>> On 07.09.2020 17:59, Alex Bennée wrote:
>>>>
>>>> Pavel Dovgalyuk <pavel.dovgalyuk@ispras.ru> writes:
>>>>
>>>>> On 07.09.2020 15:58, Alex Bennée wrote:
>>>>>>
>>>>>> Pavel Dovgalyuk <pavel.dovgalyuk@ispras.ru> writes:
>>>>>>
>>>>>>> From: Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
>>>>>>>
>>>>>>> This patch adds hmp/qmp commands replay_seek/replay-seek that proceed
>>>>>>> the execution to the specified instruction count.
>>>>>>> The command automatically loads nearest snapshot and replays the
>>>>>>> execution
>>>>>>> to find the desired instruction count.
>>>>>>
>>>>>> Should there be an initial snapshot created at instruction 0? Using a
>>>>>> separate monitor channel:
>>>>>
>>>>> Right, you can't go to the prior state, when there is no preceding
>>>>> snapshot available.
>>>>
>>>> It seems creating an initial snapshot automatically would be more user
>>>
>>> Please take a look at 'Snapshotting' section of docs/replay.txt.
>>> Reverse debugging is considered to be run with disk image (overlay)
>>> and rrsnapshot option of icount, which allows creating an initial
>>> VM snapshot.
>>
>> Given that I'm using the block device purely for VM snapshots I think it
>> would be useful to document the minimal "no disk" approach - i.e. where
>> the disk is only used for record/replay.
>>
>> However I'm still having trouble. I can record the trace with:
>>
>> ./qemu-system-aarch64 -cpu cortex-a53 -display none -serial stdio \
>> -machine virt -kernel zephyr.elf -net none \
>> -icount
>> shift=6,align=off,sleep=off,rr=record,rrfile=record.out,rrsnapshot=rrstart \
>> -drive file=record.qcow2,if=none,id=rr \
>> -monitor telnet:127.0.0.1:4444 -S
>
> Can you provide your zephyr.elf image?
>
>>
>> which shows:
>>
>> (qemu) info snapshots
>> info snapshots
>> List of snapshots present on all disks:
>> ID TAG VM SIZE DATE VM CLOCK
>> ICOUNT
>> -- rrstart 653 KiB 2020-09-07 17:12:42 00:00:00.000
>> 0
>>
>> but do I need a whole separate overlay in the replay case? I thought
>> supplying snapshot to the drive would prevent the replay case
>> overwriting what has been recorded but with:
>>
>> -icount shift=6,align=off,sleep=off,rr=replay,rrfile=record.out \
>> -drive file=record.qcow2,if=none,id=rr,snapshot
>
> When you provide qcow2 (overlay or not) for snapshotting, you don't need
> any 'snapshot' option on drive.
>
>>
>> but I get:
>>
>> (qemu) info snapshots
>> info snapshots
>> There is no snapshot available.
>>
>> so if I drop the ,snapshot from the line I can at least see the snapshot
>> but continue doesn't seem to work:
>>
>> (qemu) info snapshots
>> info snapshots
>> List of snapshots present on all disks:
>> ID TAG VM SIZE DATE VM CLOCK
>> ICOUNT
>> -- rrstart 653 KiB 2020-09-07 17:12:42 00:00:00.000
>> 0
>> (qemu) replay_break 190505
>> replay_break 190505
>> (qemu) c
>> c
>> (qemu) info replay
>> info replay
>> Replaying execution 'record.out': instruction count = 0
>
> It seems, that replay hangs. Can you try removing '-S' in record command
> line?
That doesn't make any difference removing from both the record and
replay cases. It seems to need a loadvm to start things off.
I've sent you an image off list. Please let me know if you can replicate.
--
Alex Bennée
- [PATCH v3 08/15] replay: introduce breakpoint at the specified step, (continued)
- [PATCH v3 08/15] replay: introduce breakpoint at the specified step, Pavel Dovgalyuk, 2020/09/02
- [PATCH v3 09/15] replay: implement replay-seek command, Pavel Dovgalyuk, 2020/09/02
- Re: [PATCH v3 09/15] replay: implement replay-seek command, Alex Bennée, 2020/09/07
- Re: [PATCH v3 09/15] replay: implement replay-seek command, Alex Bennée, 2020/09/07
- Re: [PATCH v3 09/15] replay: implement replay-seek command, Pavel Dovgalyuk, 2020/09/07
- Re: [PATCH v3 09/15] replay: implement replay-seek command, Alex Bennée, 2020/09/07
- Re: [PATCH v3 09/15] replay: implement replay-seek command, Pavel Dovgalyuk, 2020/09/07
- Re: [PATCH v3 09/15] replay: implement replay-seek command, Alex Bennée, 2020/09/07
- Re: [PATCH v3 09/15] replay: implement replay-seek command, Pavel Dovgalyuk, 2020/09/08
- Re: [PATCH v3 09/15] replay: implement replay-seek command,
Alex Bennée <=
- Re: [PATCH v3 09/15] replay: implement replay-seek command, Pavel Dovgalyuk, 2020/09/08
- Re: [PATCH v3 09/15] replay: implement replay-seek command, Alex Bennée, 2020/09/08
- Re: [PATCH v3 09/15] replay: implement replay-seek command, Pavel Dovgalyuk, 2020/09/08
- Re: [PATCH v3 09/15] replay: implement replay-seek command, Pavel Dovgalyuk, 2020/09/08
[PATCH v3 10/15] replay: flush rr queue before loading the vmstate, Pavel Dovgalyuk, 2020/09/02
[PATCH v3 11/15] gdbstub: add reverse step support in replay mode, Pavel Dovgalyuk, 2020/09/02
[PATCH v3 12/15] gdbstub: add reverse continue support in replay mode, Pavel Dovgalyuk, 2020/09/02