Debuggers Suck
I will corroborate one main point of the article: debugging with rr is so much better than a traditional debugger that I will only buy Intel hardware, even with all of the security flaws and corresponding performance hits, even though recent AMD CPUs would halve my half-hour compile time.<p>It really is that much better. Once you start using it, it&#x27;s really hard to go back to a situation where you don&#x27;t have it. It&#x27;s like driving a car that can only turn left -- sure, if you need to go right you can always 270 degrees to the left (by rerunning over and over again to get closer to what you want to examine, assuming your problem is reproducible enough), but it feels burdensome and ridiculous.<p>If AMD fixed their performance counters so that rr could work, I would switch immediately.<p>I am also a fan of Pernosco. It is especially useful when hooked up to a continuous integration system that can hand you a ready-to-go recording of all failures. You can get assigned a bug with a recording to go along with it. Even if it doesn&#x27;t look important or tractable to look into the ordinary way, having a recording makes it easy enough to take a glance and check it out that you&#x27;ll actually do it. At shops that do a lot of system-level programming (as opposed to scripting), the productivity boost ought to be worth a serious amount to the bean counters.