I keep seeing Twitter comparisons. Here is a week of using all three on the same flaky parser.
rr won for userspace races. gdb record was fine until the log filled. PT was the only option on a firmware bring-up where rr cannot go.
Refs: rr
Lab / educational. Public binaries and patched classes only. Isolated VM.