My experience with GDB is quite out of date. I did a lot of realtime Linux C++ development for Alcatel Space. I did exactly what the GP mentioned: develop and debug core infrastructure on windows using VS, and then port to Linux.
Keep in mind, I was used to platform infrastructure development on both Windows and Linux, and equally at ease with Visual Studio and VIM. In fact I much preferred VIM and G++ at that time.
The reason I chose to use visual studio to implement the first infrastructure builds, was that most of our software was multithreaded. Visual Studio debugger worked just fine with multithreaded applications. GDB otoh completely shat itself as soon as the code hit a breakpoint in a worker thread and I tried stepping into / over something. This was 2004 or 2005 iirc. I tried various things but most people I asked in a newsgroup related to GDB told me that I shouldn't be using threads anyway... yeah so helpful.
In any case, this was over 10 years ago and I don't know how the situation is today, but in my case the complete failure to debug multithreaded code made it useless to our team.