Go with BGB and No$GMB. BGB has superior emulation (timing for example), but it's debugger just sucks for tracing stuff. Use No$GMB for that and you're good to go! Also, get to know z80-gb if you want to do anything with it. The gbspec doc uploaded here is only one of many documents of the same name. Try to find all of them (I have 8), as they contain different data and are sometimes right, sometimes wrong. Also, the pandocs from the creator of No$GMB help a freaking lot! Get those too!
cYa,
Tauwasser