Problem:

During the process of profiling a Windows Service, the service itself communicates to the SCM (Service Control Manager) the time-out period for the selected service. However, if the SCM does not intercept a “service started” message from the selected service within the specified time-out period, the SCM will terminate the process hosting the service. In most cases, the time-out period is typically 30 seconds. Therefore, if there is no adjustment to the time-out period, the SCM will end the process attached to the debugger, such as in the case of Error Detection (Bounds Checker).

Resolution:

To increase the time-out period for the service you are attempting to profile please follow the outlined steps below:

1.  In the Registry Editor, locate, and then right-click the following registry subkey: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control

2.  Point to New, and then click DWORD Value. In the right pane of Registry Editor, notice that New Value #1 (the name of a new registry entry) is selected for editing.

3. Type ServicesPipeTimeout to replace New Value #1, and then press ENTER.

4. Right-click the ServicesPipeTimeout registry entry that you created in step 3, and then click Modify. The Edit DWORD Value dialog box appears.

5.  In the Value data text box, type TimeoutPeriod, and then click OK

(NOTE) - - TimeoutPeriod is a placeholder for the value of the time-out period (in milliseconds) that you want to set for the service.
For example, if you want to set the time-out period to 24 hours (86400000 milliseconds), type 86400000.

6. You must restart the computer for the Service Control Manager to apply this change.