How To Obtain a Userdump When COM+ Failfasts (287643)



The information in this article 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.

MORE INFORMATION

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.

REFERENCES

For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

241215 How to Use the Userdump.exe Tool to Create a Dump File

286350 How To Use ADPlus to Troubleshoot "Hangs" and "Crashes"


Modification Type:MinorLast Reviewed:7/2/2004
Keywords:kbBug kbDebug kbhowto KB287643