COM+ unterstützt die automatische Erfassung der Prozessabbilddatei und prozessbeendigung in Windows Server.

Gilt für: Windows SDK für Windows 10
Ursprüngliche KB-Nummer: 910904

Einführung

Das System protokolliert ein Ereignis, wenn eine COM+-Komponente eine ungewöhnlich hohe Aufrufzeit aufweist. Das Ereignisprotokoll identifiziert die COM+-Komponente, bei der das Problem auftritt. Darüber hinaus erwähnt das Ereignisprotokoll diesen Artikel (910904). Das System kann so konfiguriert werden, dass eine oder beide der folgenden Aktionen ausgeführt werden:

  • Erfassen Sie automatisch eine Prozessabbilddatei für die Ursachenanalyse des Problems.
  • Beenden Sie den Prozess, um das Problem ohne manuellen Eingriff zu beheben.

Nachdem das System eine Speicherabbilddatei gesammelt hat, verwenden Sie das Debugdiagnosetool (DebugDiag), um einen Bericht zu generieren, der das Problem beschreibt und bekannte Lösungen bereitstellt.

Standardverhalten

Stellen Sie sich folgendes Szenario vor:

  • Die Anrufzeit für eine COM+-Komponente überschreitet 10 Minuten.
  • Sie öffnen das MMC-Snap-In (Component Services Microsoft Management Console), während die Anwendung ausgeführt wird, die diese com+-Komponente mit langer Ausführungszeit hostet.

In diesem Szenario wird das folgende Ereignis im Anwendungsprotokoll protokolliert:

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>

Konfigurationsoptionen

Wichtig

Dieser Abschnitt enthält Änderungen an der Registrierung. Führen Sie die beschriebenen Schritte sorgfältig aus. Durch eine fehlerhafte Bearbeitung der Registrierung können schwerwiegende Probleme verursacht werden. Sichern Sie die Registrierung als Vorsichtsmaßnahme. Weitere Informationen zum Sichern und Wiederherstellen der Registrierung finden Sie unter Sichern und Wiederherstellen der Registrierung in Windows.

Das System kann so konfiguriert werden, dass eine oder beide der folgenden Aktionen ausgeführt werden, wenn eine COM+-Komponente mit langer Ausführungsdauer erkannt wird:

  • Automatisches Erfassen einer Prozessabbilddatei.

  • Beenden Sie den Prozess.

    Verwenden Sie dazu die folgenden Registrierungswerte:

    Wertname Datentyp Beschreibung Standardwert
    AverageCallThreshold REG_DWORD Schwellenwert in Sekunden, wenn die entsprechenden Aktionen ausgeführt werden 0
    DumpType REG_DWORD 0 = Generieren einer vollständigen Speicherabbilddatei; 1 = Generieren einer Minidumpdatei; 2 = Keine Speicherabbilddatei 0
    Terminate REG_DWORD 0 = Der Prozess wird fortgesetzt; 1 = Prozess wird beendet 0
  • Um Aktionen für alle COM+-Komponenten auf dem Computer global zu definieren, fügen Sie die Konfigurationswerte unter dem folgenden Registrierungsschlüssel hinzu:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3\AutoDump

  • Fügen Sie die Konfigurationswerte unter dem folgenden Registrierungsschlüssel hinzu, um aktionen zu definieren, die unabhängig von den globalen Einstellungen für eine bestimmte COM+-Komponente ausgeführt werden sollen:
    HKEY_CLASSES_ROOT\AppId\{<YourAppID>}\AutoDump\{<YourCLSID>}

Empfehlungen

Der folgende Inhalt zeigt, wie Sie die vollständigen Speicherabbilddateien überprüfen und analysieren.

Erfassen vollständiger Speicherabbilddateien

Erfassen Sie eine vollständige Speicherabbilddatei, wenn eine COM+-Komponente eine ungewöhnlich hohe Aufrufzeit aufweist. Erstellen Sie beispielsweise den folgenden einzelnen Registrierungswert:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3\AutoDump AverageCallThreshold = 300

Weitere Informationen zum Auswählen eines geeignetenAverageCallThreshold Registrierungswerts für Ihre bestimmte Umgebung finden Sie im Abschnitt Überlegungen.

Erfassen Sie auf ähnliche Weise eine vollständige Speicherabbilddatei, wenn eine unbehandelte Ausnahme in einer COM+-Anwendung auftritt. Aktivieren Sie dazu das Kontrollkästchen Bildabbild bei Anwendungsfehlern aktivieren auf der Registerkarte Dump in den Eigenschaften jeder COM+-Anwendung.

Analysieren der Speicherabbilddateien

Führen Sie die folgenden Schritte aus, um die Speicherabbilddatei zu analysieren:

  1. Laden Sie das Debugdiagnosetool (DebugDiag) herunter, und installieren Sie es.

  2. Verwenden Sie das Debugdiagnosetool, um einen Analysebericht für die Speicherabbilddatei zu generieren, indem Sie die folgenden Schritte ausführen:

    1. Führen Sie die Anwendung DebugDiag Analysis über das Startmenü aus.
    2. Wählen Sie Einstellungen und dann die Registerkarte Einstellungen aus.
    3. Stellen Sie sicher, dass die Option Microsoft Public Symbol Servers im Feld Symbolsuchpfad aktiviert ist, und wählen Sie dann Zurück aus.
    4. Wählen Sie die Option Standardanalyse \ CrashHangAnalysis aus.
    5. Wählen Sie Datendateien hinzufügen aus.
    6. Wählen Sie die Speicherabbilddateien aus, die Sie analysieren möchten.
    7. Wählen Sie Analyse starten aus.

    Der resultierende HTML-Bericht wird in einem neuen Microsoft Internet Explorer-Fenster auf dem Desktop angezeigt und im Verzeichnis DebugDiag Reports gespeichert. Der Standardspeicherort für dieses Verzeichnis ist %USERPROFILE%\Documents\DebugDiag\Reports.

  3. Befolgen Sie zum Beheben des Problems die Anleitung im Abschnitt Empfehlungen des Berichts. In diesem Abschnitt des Berichts kann Folgendes empfohlen werden:

    • Möglicherweise werden Sie zu einem Microsoft Knowledge Base-Artikel weiterverweisen, in dem bekannte Probleme beschrieben werden.
    • Es kann den Entwicklern der Anwendung Informationen zur Verfügung stellen, die sie verwenden können, um Korrekturen vorzunehmen.
    • Es kann sein, dass Sie sich an den entsprechenden Anbieter oder an Microsoft-Support wenden. Wenn Sie sich an Microsoft-Support wenden, um weitere Hilfe zu erhalten, geben Sie die Berichtsdatei an, um den Analyseprozess zu beschleunigen. Möglicherweise ist auch die vollständige Speicherabbilddatei erforderlich.

Überlegungen

Hier sind einige Faktoren, die Sie berücksichtigen sollten.

AverageCallThreshold-Registrierungswert

Ein Wert von 300 Sekunden ist ein geeigneter Schwellenwert für die meisten Umgebungen. Der ideale Wert hängt von der jeweiligen Umgebung ab. Um sicherzustellen, dass so schnell wie möglich Maßnahmen ergriffen werden, aber nur, wenn ein legitimes Problem auftritt, wählen Sie den kleinstmöglichen Wert aus, der nur in einem problematischen Szenario überschritten wird.

TerminateProcess-Registrierungswert

Das Beenden des Prozesses bei hohen Anrufzeiten kann der COM+-Komponente helfen, sich automatisch nach bestimmten Problemen zu erholen. Dies ist in Umgebungen wünschenswert, in denen Hochverfügbarkeit wichtig ist. Wenn Sie dieses Feature verwenden, wählen Sie einen geeigneten AverageCallThreshold Registrierungswert aus, um ein unbeabsichtigtes Beenden des Prozesses zu vermeiden.

DumpType-Registrierungswert

Minidumpdateien können schneller erstellt werden und belegen weniger Speicherplatz als vollständige Speicherabbilddateien. Sie sind jedoch nicht so nützlich, um Probleme zu analysieren, da ihnen häufig die erforderlichen Daten fehlen. Die typische Größe der vollständigen Speicherabbilddateien für einen Dllhost.exe Prozess reicht von 10 Mb (MB) bis 50 MB. Ihre tatsächliche Größe hängt von der Größe des Arbeitssatzes des gedumpten Prozesses ab. Die Dateien werden normalerweise innerhalb von Sekunden generiert.

Speicherabbilddateioptionen

Standardmäßig werden die Sicherungsdateien im Verzeichnis %systemroot%\system32\com\dmp gespeichert. Verwenden Sie die Einstellungen im Feld ImageAbbildverzeichnis und unter dem Bereich Maximale Anzahl von Abbildbildern für die entsprechende COM+-Anwendung, um den Speicherort und die Anzahl der Sicherungsdateien zu steuern.

Anrufzeit

Die Aufrufzeit für eine COM+-Komponente ist ein laufender Durchschnitt für alle Instanzen der COM+-Komponente. Die Anrufzeit wird von der COM+-Systemanwendung berechnet und in der Spalte Anrufzeit (ms) der Statusansicht im MMC-Snap-In Komponentendienste angezeigt.