Rr: Difference between revisions
Jump to navigation
Jump to search
Line 45: | Line 45: | ||
During replay, rr behaves likes gdb, with the usual reverse debugging command. |
During replay, rr behaves likes gdb, with the usual reverse debugging command. |
||
See referenced links for more information. |
See referenced links for more information. |
||
== Troubleshoot == |
|||
=== Potential issues in VM === |
|||
* See this bug in VMWare [https://robert.ocallahan.org/2015/11/rr-in-vmware-solved.html]. Fix is to add <code>monitor_control.disable_hvsim_clusters = true</code>. |
|||
* See this bug in Xen [https://lists.xen.org/archives/html/xen-devel/2017-07/msg02242.html]. |
|||
* Discuss on rr in [https://news.ycombinator.com/item?id=25042827 Hacker News]. |
Revision as of 14:11, 10 November 2020
rr is the Record and Replay Framework, developped by Mozilla, and is a replacement for and powerful enhancement of gdb.
References
- rr homepage.
- Using rr in an IDE
- Building and Installing and rr Usage, from Mozilla wiki.
Install and configuration
On Debian, rr is available as a package:
sudo apt install rr
rr also requires the linux performance analysis package for the current kernel.
# Install linux perf
sudo apt install linux-perf-4.19
# Enable perf for user land (temporary)
sudo sysctl kernel.perf_event_paranoid=0
See rr usage page for more performance tuning and setting perf flag permanently.
Example of use
Start recording the application:
rr record my_app
Then replay it with:
rr replay
In case the application fires several processes, we can tell rr to fast-forward until child is forked.
First we use rr ps
to get the list of recorded processes, then we start rr with -f
:
rr ps
rr replay -f 12345
During replay, rr behaves likes gdb, with the usual reverse debugging command. See referenced links for more information.
Troubleshoot
Potential issues in VM
- See this bug in VMWare [1]. Fix is to add
monitor_control.disable_hvsim_clusters = true
. - See this bug in Xen [2].
- Discuss on rr in Hacker News.