When you create a new Windows Service Project in Visual Studio (C#), you get the following main method (main entry point for the process) :
The magic is to use a conditional directive (#if (DEBUG)). Just set up your service, call your initialization method and let the main method sleep infinitively. Start (F5) to fire up your service and stop to kill it - like other runnable projects. It's that simple for debugging your Windows Service! Everything will still work in release as before without changing your code.