Check out the GDB Internals Manual, which covers some of the important aspects. There’s also an older PDF version of this document.
From the manual:
This document documents the internals of the GNU debugger, gdb. It includes description of gdb’s key algorithms and operations, as well as the mechanisms that adapt gdb to specific hosts and targets.