How to: Debug the OnStart Method

Note

This article applies to Visual Studio 2015. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here

You can debug a Windows service by starting the service and attaching the debugger to the service process. For more information, see How to: Debug Windows Service Applications. However, to debug the System.ServiceProcess.ServiceBase.OnStart method of a Windows service, you must launch the debugger from inside the method.

  1. Add a call to Launch at the beginning of the OnStart()method.

    protected override void OnStart(string[] args)  
    {  
        System.Diagnostics.Debugger.Launch();  
     }  
    
  2. Start the service (you can use net start, or start it in the Services window).

    You should see a dialog box like the following:

    OnStartDebug

  3. Select Yes, debug <service name>.

  4. In the Just-In-Time Debugger window, select the version of Visual Studio you want to use for debugging.

    JustInTimeDebugger

  5. A new instance of Visual Studio starts, and execution is stopped at the Debugger.Launch() method.

See Also

Debugger Security
Debugging Managed Code