Hey @gruvin,
Sorry for being out of touch for the last few days—@ScruffR is exactly right. If you want to do JTAG debugging, you’ll need to define USE_SWD_JTAG. Normally it’s disabled so we can use D3–D7 for GPIO; when you enable JTAG those 5 pins can’t be IOs obviously.
You are correct that I’m the person at
who most commonly uses gdb. I do so on a mac with st-util in my terminal and an ST-LINK/V2
Spark programmer shield. I find the combo very stable, as long as I remember to define that macro. 
Happy register inspecting!