Microsoft KB Archive/287643

= How To Obtain a Userdump When COM+ Failfasts =

Article ID: 287643

Article Last Modified on 7/2/2004

-

APPLIES TO


 * Microsoft COM+ 1.0

-



This article was previously published under Q287643



IMPORTANT: This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows Registry



SUMMARY
When a COM+ application traps an exception, it brings itself down with the following entry in the Application Event Log:

The system has called a custom component and that component has failed and generated an exception. This indicates a problem with the custom component. Notify the developer of this component that a failure has occurred and provide them with the information below.

Component Prog ID:

Server Application ID: {D232EB74-5633-4A1F-9822-E88C19D07931}

Server Application Name: G:\Dev\AV\Debug\AV

The serious nature of this error has caused the process to terminate.

Exception: C0000005

Address: 0x02AE7D6B

Call Stack:

AV!CAver::crash(void) + 0x1B

OLEAUT32!DispCallFunc + 0xB6

OLEAUT32!VarBstrFromDec + 0x72CD

If you try to get a dump with the Userdump.exe tool, Userdump dumps on every first chance exception, even when the component handles the exception; this can effectively make the computer irresponsive or very slow. Alternatively, you want to get a full dump from the moment that COM+ failfasts, but the information in the event log is not sufficient.

This article describes how to modify the registry so that COM+ displays a message box just before it tears down the process in a failfast scenario. Then, when the message box appears, you can get a dump with Userdump or attach to the process with a debugger.



Step-by-Step Example
WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.


 * 1) At a command prompt, type regedt32 to open Registry Editor.
 * 2) Locate the HKEY_LOCAL_MACHINE\Software\Microsoft\COM3 registry key.
 * 3) On the Edit menu, click Add Key to create a new key named Debug . Click OK to close the Add Key dialog box.
 * 4) Under the newly created key, click Add Value on the Edit menu to add a string value named DebugBreakOnFailFast, and then click OK.
 * 5) Set the value of the new string to Y.

When the COM+ application failfasts, it displays the Assertion Failed dialog box. At this point, you can obtain a dump with Userdump.

