@poleguy for starters, you need to write a disassembler for gdb and an object file handler for binutils, if you don't use ELF
then you need to emit DWARF debug info in your compiler (assuming you compile from an HLL like C)
this is loads of very tedious and thankless work