rr is a tool that makes gdb much more useful by supporting recording and replaying of the program being debugged. I highly recommend trying rr if you're somebody that regularly uses gdb to debug Postgres. rr implements a gdbserver under the hood, so it's very easy to start using once you're already familiar with gdb.
I have written a Wiki page on how to use rr to record and replay Postgres executions: https://wiki.postgresql.org/wiki/Getting_a_stack_trace_of_a_running_PostgreSQL_backend_on_Linux/BSD#Recording_Postgres_using_rr_Record_and_Replay_Framework -- Peter Geoghegan