Yeah, I started working on a pre-existing debugger around the same age as you (this was the ITS debugger DDT, so 40+ years ago) and boy, it was full of puzzling counterintuitive stuff.
And it was just an assembly debugger so minimal debugging symbols. Merely reading some DWARF data is impressive enough. DWARF makes sense to me but that’s only because I worked with other debugging formats and compiler output of same, before and during the evolution of DWARF. I can imagine it’s hard to understand when you start cold with DWARF 5.