The majority of time debugging is not spent removing bugs but understanding code behavior. Once you understand why undesirable behavior is happening it is usually relatively easy to fix this behavior.
Running a debugger like gdb with real-mode 16-bit code on the x86 platform is not the easiest thing to do, but incredibly useful when it comes to analyzing BIOS firmware and DOS software. Although ...