2 ms·
GDB supports reverse execution out of the box (not on all targets / remote), but it can be useful in some cases [0]. The tricky part is I/O and all the other si
by exDM69 4y ago
GDB supports reverse execution out of the box (not on all targets / remote), but it can be useful in some cases [0]. The tricky part is I/O and all the other side effects, which can not be undone as easily as memory / register use. It can still be useful for complex algorithms and other side-effect free code. For more practical debugging, record/replay based systems such as radare2 [1] can be more useful.
[0] https://sourceware.org/gdb/onlinedocs/gdb/Reverse-Execution.html https://sourceware.org/gdb/onlinedocs/gdb/Reverse-Execution....
[1] https://rada.re/n/ https://rada.re/n/