Record and replay debugging with "rr"

  Рет қаралды 4,156

Linux.conf.au 2016 -- Geelong, Australia

Linux.conf.au 2016 -- Geelong, Australia

Күн бұрын

Robert O'Callahan
linux.conf.au/schedule/30013/...
Debugging is expensive and not fun, especially debugging intermittent failures. rr changes that by recording Linux user-space process execution and letting you play back a recording and debug it using gdb, getting exactly the same execution as was recorded, as many times as you need. rr is used by Mozilla developers to debug Firefox, so it works on real applications. It runs on stock hardware, requires no kernel changes, and has low recording overhead (usually less than 1.5x). rr supports gdb's reverse execution features, which (combined with breakpoints and hardware data watchpoints) make debugging fast and fun. This presentation will describe how rr works, discuss some of the kernel issues that created difficulties for rr, and speculate about what we can do to make rr and related tools even better.

Пікірлер: 3
@simivb
@simivb 4 жыл бұрын
Its just a tiny nitpick, but it drives me crazy that so many people use the term nondeterministic wrongly, like how "exponential" has just become a synonym for "very fast". You have nondeterminism when you know everything there is to know about your current state, but you still can't predict the following state. User input or timing does not introduce nondeterminism. The fact that you don't know the timing or user input simply means that you don't know what state you are in. But if you knew ALL about yout state, you could perfectly predict the next state of a program. In fact, the very approach used here, of replaying these input demonstrates that all software is deterministic!
@YoloMonstaaa
@YoloMonstaaa Жыл бұрын
by that definition, nothing would ever be non-deterministic because if you know everything about everything, you can always predict the next state.
Using Lnav
14:21
Linux.conf.au 2016 -- Geelong, Australia
Рет қаралды 6 М.
Time travel debugging with the rr debugger
12:56
Undo
Рет қаралды 3 М.
孩子多的烦恼?#火影忍者 #家庭 #佐助
00:31
火影忍者一家
Рет қаралды 52 МЛН
🤔Какой Орган самый длинный ? #shorts
00:42
DAD LEFT HIS OLD SOCKS ON THE COUCH…😱😂
00:24
JULI_PROETO
Рет қаралды 12 МЛН
A Simpler Way to See Results
19:17
Logan Smith
Рет қаралды 101 М.
The Tragedy of systemd
47:18
linux.conf.au
Рет қаралды 1,1 МЛН
What is the Smallest Possible .EXE?
17:57
Inkbox
Рет қаралды 292 М.
I Melted Wood With Friction
8:44
The Action Lab
Рет қаралды 494 М.
Creator of git, Linus Torvalds Presents the Fundamentals of git
1:10:15
Developers Alliance
Рет қаралды 33 М.
What's the FASTEST Computer Language? C++ vs Fortran vs Cobol: E04
15:22
The future belongs to unikernels.
44:13
Linux.conf.au 2016 -- Geelong, Australia
Рет қаралды 1,6 М.
A Competition for Unreadable Code?
12:33
LaurieWired
Рет қаралды 157 М.
Reverse Engineering Age Of Empires
12:32
Nathan Baggs
Рет қаралды 164 М.
Real Time Tuning Analysis
25:59
Linux.conf.au 2016 -- Geelong, Australia
Рет қаралды 410
孩子多的烦恼?#火影忍者 #家庭 #佐助
00:31
火影忍者一家
Рет қаралды 52 МЛН