I use gdb all the time, but I tend to use it not as a debugger, but as a disassembler on steroids that you can program — Linus Torvalds
Like Torvalds, i don’t use Gdb as a debugger, but find it quite powerful as a code-analysis tool and use it often to explore unfamiliar C code. There are some bulky gdb configuration files but i don’t recommend copying and pasting them into home directory. Instead grab only the parts that look interesting and test them in ~/.gdbinit. Even better you could grab a copy of my ~/.gdbinit which is brief and got some Ruby swag (see those def’s?).
A neat trick for bash users is to define gdb bindings in ~/.inputrc.