I read the MSDN article on the topic. To quote:
Because a service must be run from within the context of the Services Control Manager rather than
I usually just manually set a breakpoint, then point it to the currently open project in c#. The code to set a breakpoint is:
System.Diagnostics.Debugger.Break();
That should get you started, then you can just step through your code and see what's really happening.