We do exactly that, program and debug i Visual studio (2012 i think...), and cross compile on our windows machines, but actually run the code on the Raspberry Pi.
The compiled files are sent to the Pi, and i can have breakpoints and step in the code like normally.
This is done with the help of VisualGDB, a plugin(?) to visual studio.
I cant tell you how its done, because its wery complicated and beond my understanding. My companies tech guy sat it up.
It works mostly fine, but there are issues with intellisense simetimes, and cashed versions of source code can give you surprises sometimes.
If this sounds intresting I could ask our expert to give a short explenation of the components and how they are sat up.