Edit

Share via


Debug the OnStart Method

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:

    Screenshot of a Visual Studio Just-In-Time Debugger dialog box that shows an unhandled .NET Framework exception occurred in WindowsService-Asis.exe.

  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.

    Screenshot of a Visual Studio Just-In-Time Debugger window with 'New instance of Microsoft Visual Studio' selected in the list of Possible Debuggers.

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