COM+ ondersteunt het automatisch verzamelen van procesdumpbestanden en procesbeëindiging in Windows Server

Van toepassing op: Windows SDK voor Windows 10
Origineel KB-nummer: 910904

Inleiding

Het systeem registreert een gebeurtenis wanneer een COM+-onderdeel een ongebruikelijk hoge gesprekstijd ondervindt. Het gebeurtenislogboek identificeert het COM+-onderdeel dat het probleem ondervindt. Daarnaast vermeldt het gebeurtenislogboek dit artikel (910904). Het systeem kan worden geconfigureerd om een of beide van deze acties uit te voeren:

  • Automatisch een procesdumpbestand verzamelen voor de hoofdoorzaakanalyse van het probleem.
  • Beëindig het proces om het probleem te herstellen zonder handmatige tussenkomst.

Nadat het systeem een dumpbestand heeft verzameld, gebruikt u het diagnostisch hulpprogramma voor foutopsporing (DebugDiag) om een rapport te genereren waarin het probleem wordt beschreven en bekende oplossingen worden geboden.

Standaardgedrag

Neem het volgende scenario:

  • De aanroeptijd voor een COM+-onderdeel is langer dan 10 minuten.
  • U opent de MMC-module Component Services (Microsoft Management Console) terwijl de toepassing die als host fungeert voor dit langlopende COM+-onderdeel wordt uitgevoerd.

In dit scenario wordt de volgende gebeurtenis vastgelegd in het toepassingslogboek:

Event Type: information
Event Source Information: COM+
COM+ Event Category: (117)
Event ID: 782
Description: The average call duration exceeded 10 minutes.
If this is not the expected behavior, see Microsoft Knowledge Base Article 910904 in http://support.microsoft.com for detailed information about
how to use the COM+ AutoDump feature to automatically generate dump files and terminate the process if the problem recurs.
Server application ID: <YourAppID>
Server application instance ID: <YourAppInstanceID>
Server application name: <YourAppName>

Configuratieopties

Belangrijk

Deze sectie bevat wijzigingen in het register. Volg de stappen zorgvuldig. Als u het register onjuist bewerkt, kunnen er grote problemen optreden. Maak een back-up van het register als voorzorgsmaatregel. Raadpleeg Een back-up maken van en het herstellen van het register in Windows voor meer informatie over het maken van een back-up en het herstellen van het register.

Het systeem kan worden geconfigureerd om een of beide van de volgende acties uit te voeren wanneer een langlopend COM+-onderdeel wordt gedetecteerd:

  • Automatisch een procesdumpbestand verzamelen.

  • Het proces beëindigen.

    Gebruik hiervoor de volgende registerwaarden:

    Waardenaam Gegevenstype: Beschrijving Standaardwaarde
    AverageCallThreshold REG_DWORD Drempelwaarde, in seconden, wanneer de juiste acties worden uitgevoerd 0
    DumpType REG_DWORD 0 = Een volledig dumpbestand genereren; 1 = Een minidump-bestand genereren; 2 = Geen dumpbestand 0
    Terminate REG_DWORD 0 = Proces wordt voortgezet; 1 = Proces wordt beëindigd 0
  • Als u acties voor alle COM+-onderdelen op de computer globaal wilt definiëren, voegt u de configuratiewaarden toe onder de volgende registersleutel:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3\AutoDump

  • Als u acties wilt definiëren die moeten worden uitgevoerd voor een specifiek COM+-onderdeel, ongeacht de globale instellingen, voegt u de configuratiewaarden toe onder de volgende registersleutel:
    HKEY_CLASSES_ROOT\AppId\{<YourAppID>}\AutoDump\{<YourCLSID>}

Aanbevelingen

De volgende inhoud laat zien hoe u de volledige dumpbestanden controleert en analyseert.

Volledige dumpbestanden verzamelen

Verzamel een volledig dumpbestand wanneer een COM+-onderdeel een ongebruikelijk hoge aanroeptijd ondervindt. Maak bijvoorbeeld de volgende registerwaarde:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3\AutoDump AverageCallThreshold = 300

Zie de sectie Overwegingen voor meer informatie over het selecteren van een geschikte AverageCallThreshold registerwaarde voor uw specifieke omgeving.

Verzamel op dezelfde manier een volledig dumpbestand wanneer er een onverwerkte uitzondering optreedt in een COM+-toepassing. Schakel hiervoor het selectievakje Installatiekopieëndump inschakelen op toepassingsfout in op het tabblad Dump in de eigenschappen van elke COM+-toepassing.

De dumpbestanden analyseren

Voer de volgende stappen uit om het dumpbestand te analyseren:

  1. Download en installeer het diagnostisch hulpprogramma voor foutopsporing (DebugDiag).

  2. Gebruik het diagnostisch hulpprogramma voor foutopsporing om een analyserapport voor het dumpbestand te genereren door de volgende stappen uit te voeren:

    1. Voer de toepassing DebugDiag Analysis uit vanuit het menu Start .
    2. Selecteer Instellingen en selecteer vervolgens het tabblad Voorkeuren .
    3. Zorg ervoor dat de optie Microsoft Public Symbol Servers in het veld Zoekpad voor symbolen is ingeschakeld en selecteer vervolgens Terug.
    4. Selecteer de optie Standaardanalyse \ CrashHangAnalysis .
    5. Selecteer Gegevensbestanden toevoegen.
    6. Selecteer de dumpbestanden die u wilt analyseren.
    7. Selecteer Analyse starten.

    Het resulterende HTML-rapport wordt weergegeven in een nieuw Microsoft Internet Explorer-venster op het bureaublad en opgeslagen in de map DebugDiag-rapporten. De standaardlocatie voor deze map is %USERPROFILE%\Documents\DebugDiag\Reports.

  3. Volg de richtlijnen in de sectie Aanbevelingen van het rapport om het probleem op te lossen. In dit gedeelte van het rapport kunnen de volgende dingen worden aanbevolen:

    • U wordt mogelijk naar een Microsoft Knowledge Base-artikel verwezen waarin bekende problemen worden beschreven.
    • Het kan de ontwikkelaars van de toepassing voorzien van informatie die ze kunnen gebruiken om correcties aan te brengen.
    • Het kan suggereren dat u contact opgeeft met de juiste leverancier of met Microsoft Ondersteuning. Wanneer u contact opneemt met Microsoft Ondersteuning voor meer hulp, geeft u het rapportbestand op om het analyseproces te versnellen. Het volledige dumpbestand kan ook vereist zijn.

Overwegingen

Hier volgen enkele factoren die u moet overwegen.

Registerwaarde AverageCallThreshold

Een waarde van 300 seconden is een geschikte drempelwaarde voor de meeste omgevingen. De ideale waarde is afhankelijk van de specifieke omgeving. Om ervoor te zorgen dat er zo snel mogelijk actie wordt ondernomen, maar alleen wanneer er een legitiem probleem optreedt, selecteert u de kleinst mogelijke waarde die alleen in een problematisch scenario wordt overschreden.

Registerwaarde TerminateProcess

Het beëindigen van het proces wanneer er hoge aanroeptijden optreden, kan het COM+-onderdeel helpen om automatisch te herstellen van bepaalde problemen. Dit is wenselijk in omgevingen waar hoge beschikbaarheid belangrijk is. Wanneer u deze functie gebruikt, selecteert u een geschikte AverageCallThreshold registerwaarde om te voorkomen dat het proces onbedoeld wordt beëindigd.

DumpType-registerwaarde

Minidump-bestanden kunnen sneller worden gemaakt en nemen minder schijfruimte in beslag dan volledige dumpbestanden. Ze zijn echter niet zo nuttig voor het analyseren van problemen, omdat ze vaak de vereiste gegevens missen. De typische grootte van volledige dumpbestanden voor een Dllhost.exe-proces varieert van 10 MB tot 50 MB. De werkelijke grootte is afhankelijk van de grootte van de werkset van het gedumpte proces. De bestanden worden normaal gesproken binnen enkele seconden gegenereerd.

Opties voor dumpbestanden

De dumpbestanden worden standaard opgeslagen in de map %systemroot%\system32\com\dmp . Gebruik de instellingen in het vak Image Dump Directory en onder het gebied Maximum aantal dumpinstallatiekopieën voor de juiste COM+-toepassing om de locatie en het aantal dumpbestanden te bepalen.

Gesprekstijd

De aanroeptijd voor een COM+-onderdeel is een lopend gemiddelde voor alle exemplaren van het COM+-onderdeel. De aanroeptijd wordt berekend door de COM+-systeemtoepassing en wordt weergegeven in de kolom Oproeptijd (ms) van de statusweergave in de MMC-module Component Services.