I've forgotten who this was (someone in the Rust community?), but I recently heard someone describe GNU tools as simple to use and hard to learn. I'm still in the learning phase, but it makes sense to me.
That's a good point. However, it's arguably only hard to use to do modern software development which is a complex use case for a low level language. At least in all my time doing C (>10yrs) I can reduce most of my gdb usage to analyzing core dumps by doing a few simple things: print backtraces per thread, moving up/down the stack and printing variable values. The rare situations I've used it for 'stepping' through code, is also just a few commands. The code itself is where the complexity is at that point that gdb itself is the least of my concerns.