How to: Debug the OnStart Method

Note

This article applies to Visual Studio 2015. If you're looking for Visual Studio 2017 documentation, use the version selector at the top left. We recommend upgrading to Visual Studio 2017. 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