Skip to content

time travel debugging with non RR tools (QEMU, ...) #214

@jeras

Description

@jeras

Hi,

Midas support for reverse execution (buttons, ...) seems to be tightly integrated with rr specifically.

Would it be possible to use midas with a different tool providing record/replay functionality.
For example would it be possible to connect to the GDB stub interface in QEMU.

QEMU provides record/replay functionality
which is advertised over the GDB remote serial protocol
by answering with ReverseContinue+, ReverseStep+ to the qSupported packet.
rr seems to do the same.

I have seen somewhere mentioned a dedicated snapshot button, but I lost the page.
It would be usefull to be able to make a QEMU snapshot by pressing a button in the debugger (or with a script),
I still have to check if QEMU exposes such functionality over the GDB remote serial protocol (seems it does not, only through the monitor).
If it does not, I can write an issue asking for this to be added.

I am actually working on integrating a HDL simulator with a GDB stub.
For now I am using QEMU as a reference, since the functionality is similar to mine,
and since it is much easier to ask somebody to install QEMU than my tool.

The current list of functionality I am looking for is:

  • reverse execution buttons,
  • snapshot button (not really necessary, CLI is useful enough),
  • detach/reattach button (the HDL simulator becomes unresponsive during blocking socket read, so I detach to get is responsive again),
  • support for all watchpoint types (write read and access),
  • maybe messages for record/replay specific events, like reaching the end/beginning of the record.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions