====== Tools we use in the making of Folk ====== ===== ''rr'' ===== * [[https://github.com/rr-debugger/rr|rr debugger on GitHub]] * ''rr'' is a time travel debugger that runs native programs with only about a 50% overhead * it uses GDB for its interface * Mason Jones: * I use it as I've been weeding out bugs in ''jimtcl'' * I start by setting a breakpoint at the segfault or panic, see what value is messed up, set a watchpoint, and run it backwards until I hit that watchpoint. Then it's a matter of alternating forwards and backwards until I find the exact spot * For example, it's kinda amazing to do ''watch -l someObj->refCount'', use ''rc'' to run backwards, and find exactly where the ''refCount'' was last set