GBA emulation was more or less a solved problem by the time it launched in North America (as in patch the save if it is a later game that has one not yet invented at the time of its release and you will probably be able to play most games just fine on a build from then, though do get the later stuff if you actually want to play something), and decent debuggers appeared while the system was current.
Those emulators would be two of the three people use for play, plus whatever "cores" the all in one emulators have. Don't think I have ever seen Higan used for GBA play over anything else but I have surprised in the past.http://problemkaputt.de/gba.htm
is the third, still gets updates (though most focus is on the DSi side of things) and its debugger, which is a separate version/download, is probably second only to fceux when it comes to console debugger options.
mGBA has a few things but for the ROM hacker it is not such a good option at this point.
VBA* is split between old school stuff like vba-sdl-h ( http://web.archive.org/web/20130215155212/http://labmaster.bios.net.nz/vba-sdl-h/
) and using gdb which is a PC debugger to interface with gdb debuggers https://wrongbaud.github.io/posts/ghidra-debugger/
as well as its more limited options in the general builds (the graphical versions have memory viewers, a decent cheat search, disassembly, graphics views of the necessary flavours and enough that you can do a fair bit if you want and mostly come unstuck when you need to do something fancy).
*original vanilla VBA/visual boy advance ended up with several dozen forks all doing their own thing from link play, enhanced cheat making, tool assisted speedruns, high end sound emulation, speed boosts for newer systems (while today anything without SSE2 is an antique at the time it would have lost a few people to not support it), video capture, debugging, graphics boosting, linking with real consoles (somewhat lost but see vbalink real if you are curious there) and much more. The VBA-m fork was then one that aimed to unite all the best out of all of them, and continue development after the original developer moved on, and actually managed it.