Stumbled upon this earlier
https://wrongbaud.github.io/posts/ghidra-debugger/In it the author details using Ghidra (the NSA's open source debugging software
https://ghidra-sre.org/ , it and radare
https://www.radare.org/r/ then being the open source world's answer to IDA
https://www.hex-rays.com/products/ida/ which is very good but very expensive bit of paid software that many hackers use to pull programs apart) to speak to GBD using emulators, and in this case edit not a PC program as most usually do with that but a GBA ROM (and that opens the door to anything with GDB).
GDB is short for gnu debugger (
https://www.gnu.org/software/gdb/ ) which is a somewhat unified means by which many in the open source world and beyond can debug their programs.
Some emulators make a point of speaking to GBD but Ghidra only more recently got proper support for it (there were bridge programs before. Around here (and frankly for myself) not so many seem to use GDB but it can serve as something of a general purpose debugger you can use while you wait for various emulators to grow up and match fceux or the no$ series of debuggers internally.
Emulators that claim support for it.
GBA
mgba was used in the example.
vba and its various forks have had it for a while.
DS
Desmume has support for it
Have not played with others, and don't know what the tool assisted speedrun types are using these days. I imagine you can find it in many emulators though. Hopefully we can get a megadrive/genesis one too as it would be nice to have such things.