mirror of
https://github.com/cirosantilli/linux-kernel-module-cheat.git
synced 2026-01-23 02:05:57 +01:00
reverse debug: reverse finish master tip
This commit is contained in:
20
README.adoc
20
README.adoc
@@ -9819,7 +9819,7 @@ You can still send key presses to QEMU however even without the mouse capture, j
|
||||
|
||||
==== Reverse debug the emulator
|
||||
|
||||
While step debugging any complext program, you always end up feeling the need to step in reverse to reach the last call to some function before the failure point.
|
||||
While step debugging any complext program, you always end up feeling the need to step in reverse to reach the last call to some function that was called before the failure point, in order to trace back the problem to the actual bug source.
|
||||
|
||||
While GDB "has" this feature, it is just too broken to be usable, and so we expose the amazing Mozilla RR tool conveniently in this repo: https://stackoverflow.com/questions/1470434/how-does-reverse-debugging-work/53063242#53063242
|
||||
|
||||
@@ -9853,6 +9853,24 @@ To restart debugging again after quitting `rr`, simlpy run on your host terminal
|
||||
rr replay
|
||||
....
|
||||
|
||||
Programs often tend to blow up in very low frames that use values passed in from higher frames. In those cases, remember that just like with forward debugging, you can't just go:
|
||||
|
||||
....
|
||||
up
|
||||
up
|
||||
up
|
||||
reverse-next
|
||||
....
|
||||
|
||||
but rather, you must:
|
||||
|
||||
....
|
||||
reverse-finish
|
||||
reverse-finish
|
||||
reverse-finish
|
||||
reverse-next
|
||||
....
|
||||
|
||||
==== Debug gem5 Python scripts
|
||||
|
||||
Start pdb at the first instruction:
|
||||
|
||||
Reference in New Issue
Block a user