Process Monitor (Procmon): Windows-Fehler gezielt analysieren

Ein Programm startet nicht, Einstellungen werden nicht gespeichert oder eine Anwendung meldet lediglich einen wenig hilfreichen Fehler? In solchen Fällen ist oft nicht erkennbar, was im Hintergrund tatsächlich schiefläuft.

Mit dem kostenlosen Process Monitor, kurz Procmon, von Microsoft Sysinternals kannst Du nachvollziehen, auf welche Dateien, Ordner und Registry-Einträge Programme zugreifen und welche Prozesse dabei beteiligt sind.

So lässt sich beispielsweise herausfinden, ob eine benötigte Datei fehlt, ein bestimmter Pfad nicht vorhanden ist oder Windows einen Zugriff verweigert.

Process Monitor ist allerdings kein Reparaturprogramm und liefert auch keine fertige Fehlerdiagnose. Schon innerhalb weniger Sekunden können Tausende Ereignisse aufgezeichnet werden. Entscheidend ist deshalb, die Aufzeichnung gezielt einzugrenzen und die Ergebnisse richtig zu interpretieren.

In dieser Anleitung zeigen wir Dir, wie Du Process Monitor für eine systematische Windows-Fehlersuche verwendest.

Was ist Process Monitor?

Process Monitor ist ein Diagnoseprogramm aus der Microsoft-Sysinternals-Sammlung.

Das Programm überwacht Windows in Echtzeit und zeichnet unter anderem folgende Aktivitäten auf:

  • Zugriffe auf Dateien und Ordner
  • Zugriffe auf die Windows-Registry
  • Prozessaktivitäten
  • Thread-Aktivitäten
  • geladene DLL-Dateien und Images
  • Prozessstarts und Prozessenden
  • Informationen zu Benutzern und Sitzungen
  • zahlreiche Details zu einzelnen Systemzugriffen

Process Monitor verbindet damit Funktionen, für die früher unter anderem die Sysinternals-Werkzeuge Filemon und Regmon verwendet wurden.

Besonders hilfreich ist Procmon bei Problemen, die sich reproduzieren lassen:

Du startest eine Aufzeichnung, löst den Fehler erneut aus und untersuchst anschließend, was unmittelbar davor passiert ist.

Wofür kann Process Monitor hilfreich sein?

Process Monitor eignet sich beispielsweise für folgende Situationen:

  • Ein Programm startet nicht.
  • Eine Anwendung beendet sich unmittelbar nach dem Start.
  • Ein Programm zeigt eine Fehlermeldung.
  • Einstellungen werden nicht gespeichert.
  • Eine benötigte Datei wird nicht gefunden.
  • Ein Programm sucht eine Datei an der falschen Stelle.
  • Ein Datei- oder Ordnerzugriff wird verweigert.
  • Ein Registry-Schlüssel wird nicht gefunden.
  • Ein Registry-Eintrag kann nicht gelesen oder verändert werden.
  • Eine Anwendung verhält sich bei einem Benutzer anders als bei einem anderen.
  • Ein Installationsprogramm bricht ohne verständliche Erklärung ab.
  • Ein Problem tritt bereits während des Windows-Starts auf.
  • Du möchtest wissen, welche Dateien oder Registry-Bereiche ein bestimmtes Programm verwendet.

Process Monitor eignet sich besonders dann, wenn Du herausfinden möchtest, was während eines bestimmten Vorgangs passiert ist.

Für manche Aufgaben gibt es dagegen geeignetere Spezialwerkzeuge. Möchtest Du beispielsweise lediglich feststellen, welcher laufende Prozess eine bestimmte Datei momentan geöffnet hält, kann Process Explorer schneller zum Ziel führen.

Process Monitor herunterladen

Process Monitor bei Microsoft Sysinternals

Process Monitor wird von Microsoft kostenlos als Bestandteil der Sysinternals-Werkzeuge angeboten.

Die hier beschriebene Fassung basiert auf Process Monitor 4.1.

Eine klassische Installation ist nicht erforderlich. Nach dem Download wird das ZIP-Archiv entpackt und anschließend die zur verwendeten Windows-Plattform passende Programmdatei gestartet.

Microsoft stellt unterschiedliche Varianten bereit:

  • Procmon.exe für x86-Systeme
  • Procmon64.exe für x64-Systeme
  • Procmon64a.exe für ARM64-Systeme

Bei einem üblichen aktuellen Windows-PC mit Intel- oder AMD-Prozessor wird in der Regel Procmon64.exe verwendet.

Process Monitor sollte für eine vollständige Aufzeichnung mit erhöhten Rechten als Administrator ausgeführt werden.

Beim ersten Start musst Du gegebenenfalls zunächst den Lizenzbedingungen der Sysinternals-Werkzeuge zustimmen.

Warum erscheinen sofort so viele Einträge?

Process Monitor Hauptfenster
Process Monitor zeichnet innerhalb kurzer Zeit eine sehr große Zahl von Datei-, Registry- und Prozessereignissen auf. Für die Fehlersuche sind Filter deshalb unverzichtbar.

Nach dem Start beginnt Process Monitor normalerweise unmittelbar mit der Aufzeichnung.

Und Windows ist ständig aktiv.

Systemdienste lesen Registry-Einträge, Programme prüfen Dateien, Hintergrundprozesse schreiben Protokolle und Windows selbst führt fortlaufend zahlreiche Datei-, Registry- und Prozessoperationen aus.

Deshalb können innerhalb weniger Sekunden Tausende Ereignisse zusammenkommen.

Das ist normal.

Der wichtigste Grundsatz bei der Arbeit mit Process Monitor lautet deshalb:

Versuche nicht, die komplette Aufzeichnung von oben nach unten zu lesen.

Stattdessen solltest Du zunächst festlegen, welchen Prozess oder welchen Vorgang Du untersuchen möchtest, und die Anzeige anschließend entsprechend filtern.

Aufzeichnung starten und stoppen

Ob Process Monitor momentan Ereignisse aufzeichnet, erkennst Du am entsprechenden Capture-Symbol in der Symbolleiste.

Die Aufzeichnung lässt sich außerdem mit:

Strg + E

starten beziehungsweise stoppen.

Für die Fehlersuche solltest Du möglichst nur den Zeitraum erfassen, in dem das Problem tatsächlich auftritt.

Eine sinnvolle Vorgehensweise sieht deshalb so aus:

  1. Process Monitor starten.
  2. Aufzeichnung stoppen.
  3. alte Ereignisse aus der Anzeige entfernen.
  4. erforderliche Filter setzen.
  5. Aufzeichnung starten.
  6. Fehler reproduzieren.
  7. Aufzeichnung sofort wieder stoppen.

Dadurch bleibt die Datenmenge überschaubar.

Die wichtigsten Spalten verstehen

Jedes erfasste Ereignis erscheint in Process Monitor in einer eigenen Zeile.

Für den Einstieg sind vor allem folgende Spalten wichtig.

Process Name

Unter Process Name steht der Prozess, der den jeweiligen Vorgang ausgelöst hat.

Beispiele:

explorer.exe

notepad.exe

setup.exe

programm.exe

Wenn Du ein bestimmtes Programm untersuchst, ist dessen Prozessname häufig der wichtigste erste Filter.

PID

PID steht für Process Identifier.

Jeder laufende Prozess erhält von Windows eine Prozess-ID.

Ein Programm kann mehrfach gleichzeitig ausgeführt werden. Dabei kann beispielsweise mehrmals derselbe Prozessname erscheinen, aber jede Instanz besitzt eine eigene PID.

Dadurch lassen sich verschiedene Instanzen desselben Programms auseinanderhalten.

Operation

In der Spalte Operation steht, welche Aktion durchgeführt wurde.

Bei Dateizugriffen findest Du beispielsweise:

CreateFile

ReadFile

WriteFile

QueryInformationFile

Bei Registry-Zugriffen können unter anderem folgende Operationen erscheinen:

RegOpenKey

RegQueryValue

RegSetValue

Auch Prozessstarts und Prozessenden werden als eigene Ereignisse aufgezeichnet.

Path

Die Spalte Path zeigt, worauf zugegriffen wurde.

Bei einem Dateizugriff könnte dort beispielsweise stehen:

C:\Program Files\Beispiel\config.ini

Bei einem Registry-Zugriff beispielsweise:

HKCU\Software\Beispiel

Diese Spalte ist bei der Fehleranalyse besonders wichtig. Du erkennst damit, wo ein Programm nach einer Datei, einem Ordner oder einem Registry-Eintrag sucht.

Result

Die Spalte Result zeigt das Ergebnis des jeweiligen Vorgangs.

Ein erfolgreicher Zugriff wird normalerweise mit:

SUCCESS

angezeigt.

Daneben können beispielsweise folgende Ergebnisse auftreten:

NAME NOT FOUND

PATH NOT FOUND

ACCESS DENIED

Gerade diese Ergebnisse wirken zunächst wie eindeutige Fehlermeldungen.

Das sind sie aber nicht zwangsläufig.

Detail

Unter Detail findest Du zusätzliche technische Angaben zum jeweiligen Vorgang.

Je nach Ereignis können dort beispielsweise Informationen zu angeforderten Zugriffsrechten, Dateigrößen oder anderen Parametern stehen.

Für eine erste Fehlersuche reichen häufig bereits:

  • Process Name
  • Operation
  • Path
  • Result

Auf ein bestimmtes Programm filtern

Process Monitor Filterdialog Prozess cmd
Im Filterdialog lässt sich die Anzeige beispielsweise auf einen bestimmten Prozess wie cmd.exe eingrenzen.

Wenn Du beispielsweise ein Problem mit einem Programm namens:

beispiel.exe

untersuchst, solltest Du nicht alle Windows-Aktivitäten betrachten.

Öffne stattdessen den Filterdialog von Process Monitor.

Dort kannst Du beispielsweise folgende Regel erstellen:

Process Nameisbeispiel.exeInclude

Process Monitor zeigt anschließend nur noch die zu diesem Filter passenden Ereignisse an.

Eine weitere Möglichkeit besteht darin, einen bereits aufgezeichneten Prozess direkt über das Kontextmenü in einen Include-Filter aufzunehmen.

Vorsicht bei Programmen mit mehreren Prozessen

Viele moderne Programme bestehen nicht nur aus einer einzigen EXE-Datei.

Eine Anwendung kann beispielsweise folgende Prozesse verwenden:

programm.exe

programm-helper.exe

updater.exe

service.exe

Ein Launcher kann außerdem einen zweiten Prozess starten und sich anschließend selbst beenden.

Wenn Du ausschließlich auf den ursprünglichen Prozess filterst, kann dadurch ausgerechnet der entscheidende Zugriff ausgeblendet werden.

In solchen Fällen hilft der Process Tree von Process Monitor.

Process Tree: Zusammengehörende Prozesse erkennen

Process-Monitor-Filterdialog-Prozess-cmd-vorhandene-Datei-Process-Tree
Der Process Tree zeigt die Beziehungen zwischen beteiligten Prozessen. In unserem Beispiel wurde cmd.exe aus PowerShell heraus gestartet.

Über den Process Tree kannst Du die Beziehungen der während einer Aufzeichnung erfassten Prozesse anzeigen.

Das ist beispielsweise hilfreich, wenn:

  • ein Installationsprogramm einen weiteren Prozess startet,
  • ein Launcher die eigentliche Anwendung öffnet,
  • ein Updater beteiligt ist,
  • ein Programm einen Hintergrunddienst verwendet,
  • ein Fehler erst in einem untergeordneten Prozess auftritt.

Wenn die Analyse mit einem einfachen Prozessfilter keine plausible Ursache zeigt, solltest Du deshalb kontrollieren, ob weitere zugehörige Prozesse vorhanden sind.

Typische Ergebnisse richtig interpretieren

Bei der Fehlersuche fallen häufig bestimmte Einträge besonders auf.

Dazu gehören:

NAME NOT FOUND

PATH NOT FOUND

ACCESS DENIED

Sie können sehr wertvolle Hinweise liefern.

Allerdings solltest Du daraus niemals allein auf einen Fehler schließen.

Was bedeutet NAME NOT FOUND?

Process Monitor Filterdialog Prozess cmd fehlende Datei mit Filter Path
Der Ordner C:\Procmon-Test ist vorhanden, die angeforderte Datei config.txt jedoch nicht. Process Monitor zeigt deshalb unter anderem NAME NOT FOUND.

NAME NOT FOUND bedeutet vereinfacht, dass das angefragte Objekt unter dem angegebenen Namen nicht gefunden wurde.

Das kann beispielsweise eine Datei oder ein Registry-Eintrag sein.

Ein Programm sucht beispielsweise:

C:\Program Files\Beispiel\config.ini

und Process Monitor zeigt:

NAME NOT FOUND

Das könnte bedeuten, dass eine benötigte Konfigurationsdatei fehlt.

Es kann aber genauso gut vollkommen normal sein.

Viele Programme suchen nacheinander an unterschiedlichen Stellen:

C:\ProgramData\Beispiel\config.ini

C:\Users\Benutzer\AppData\Roaming\Beispiel\config.ini

C:\Program Files\Beispiel\config.ini

Wird die Datei an den ersten beiden Stellen nicht gefunden, kann Process Monitor dort jeweils NAME NOT FOUND anzeigen.

Findet das Programm anschließend die gesuchte Datei an einer anderen Stelle, liegt überhaupt kein Fehler vor.

Ein einzelner NAME-NOT-FOUND-Eintrag ist deshalb noch keine Fehlerdiagnose.

Was bedeutet PATH NOT FOUND?

PATH NOT FOUND bedeutet, dass der angegebene Pfad nicht gefunden werden konnte.

Ein Programm versucht beispielsweise auf folgenden Ordner zuzugreifen:

C:\ProgramData\Beispiel\Daten\

Existiert dieser Ordner nicht, kann Process Monitor PATH NOT FOUND anzeigen.

Auch hier gilt:

Prüfe, ob der fehlende Pfad tatsächlich benötigt wird oder ob die Anwendung anschließend auf einen alternativen Pfad zugreift.

Was bedeutet ACCESS DENIED?

ACCESS DENIED bedeutet, dass Windows einen angeforderten Zugriff verweigert hat.

Mögliche Ursachen können beispielsweise sein:

  • fehlende Benutzerrechte
  • fehlende Administratorrechte
  • unpassende Datei- oder Ordnerberechtigungen
  • Registry-Berechtigungen
  • Zugriffe auf geschützte Systembereiche
  • Sicherheitsrichtlinien
  • ein Sicherheitsprogramm
  • ein Programm fordert mehr Rechte an, als es tatsächlich besitzt

Aber auch ACCESS DENIED ist nicht automatisch ein Beweis für einen Fehler.

Ein Programm kann zunächst einen umfangreichen Zugriff versuchen, eine Ablehnung erhalten und anschließend mit geringeren Rechten erfolgreich weiterarbeiten.

Deshalb muss immer der Zusammenhang betrachtet werden.

Nicht jeder auffällige Procmon-Eintrag ist ein Fehler

Dieser Punkt ist bei der Verwendung von Process Monitor besonders wichtig.

Windows und Anwendungen prüfen ständig, ob Dateien, Registry-Einträge, Berechtigungen oder andere Ressourcen vorhanden sind.

Dabei sind fehlgeschlagene Zugriffe teilweise vollkommen normal.

Ein typischer Ablauf könnte beispielsweise so aussehen:

Das Programm sucht Datei A.

Ergebnis:

NAME NOT FOUND

Anschließend sucht es Datei B.

Ergebnis:

SUCCESS

Das Programm arbeitet danach normal weiter.

Der erste fehlgeschlagene Zugriff war lediglich Bestandteil der vorgesehenen Programmlogik.

Besonders interessant sind deshalb Ereignisse, die:

  • unmittelbar vor dem sichtbaren Problem auftreten,
  • bei jedem Versuch reproduzierbar erscheinen,
  • offensichtlich zur betroffenen Funktion gehören,
  • nicht durch einen erfolgreichen alternativen Zugriff ersetzt werden,
  • unmittelbar vor einem Programmabbruch auftreten,
  • zeitlich genau mit einer Fehlermeldung zusammenfallen.

Praxisbeispiel: Eine fehlende Datei mit Process Monitor erkennen

Mit einem einfachen Test kannst Du selbst nachvollziehen, wie Process Monitor einen fehlgeschlagenen Dateizugriff erfasst.

Wir verwenden dafür den Testordner:

C:\Procmon-Test

Testordner erstellen

Erstelle zunächst den Ordner:

C:\Procmon-Test

Die Datei:

config.txt

darf darin zunächst nicht vorhanden sein.

Process Monitor vorbereiten

Starte Process Monitor als Administrator.

Stoppe zunächst die laufende Aufzeichnung.

Lösche anschließend die bisher aufgezeichneten Ereignisse.

Nun kannst Du einen Filter setzen, beispielsweise:

Pathbegins withC:\Procmon-TestInclude

Damit werden nur noch Zugriffe auf unseren Testordner angezeigt.

Fehlenden Dateizugriff erzeugen

Öffne nun die Eingabeaufforderung.

Gib folgenden Befehl ein:

type C:\Procmon-Test\config.txt

Da die Datei nicht vorhanden ist, meldet die Eingabeaufforderung, dass sie nicht gefunden werden konnte.

Stoppe anschließend die Procmon-Aufzeichnung.

In der Aufzeichnung sollte jetzt ein fehlgeschlagener Zugriff auf:

C:\Procmon-Test\config.txt

zu erkennen sein.

Damit wissen wir in diesem Test eindeutig:

Der fehlgeschlagene Zugriff ist relevant, weil wir bewusst eine nicht vorhandene Datei angefordert haben.

Gegenprobe durchführen

Erstelle nun die Datei:

C:\Procmon-Test\config.txt

Beispielsweise kannst Du in der Eingabeaufforderung verwenden:

echo Test > C:\Procmon-Test\config.txt

Leere anschließend die Procmon-Anzeige und starte eine neue Aufzeichnung.

Führe erneut aus:

type C:\Procmon-Test\config.txt

Diesmal existiert die Datei.

Process Monitor sollte nun einen erfolgreichen Zugriff auf die Datei erfassen.

Process Monitor Filterdialog Prozess cmd vorhandene Datei
Nach dem Erstellen von config.txt kann cmd.exe die Datei erfolgreich öffnen und lesen. Die entsprechenden Zugriffe werden nun mit SUCCESS protokolliert.

Damit lässt sich sehr gut erkennen, welchen Unterschied eine einzige fehlende Datei in einer Procmon-Aufzeichnung verursachen kann.

Praxisbeispiel auf einen echten Programmfehler übertragen

Bei einer echten Fehlersuche gehst Du grundsätzlich ähnlich vor.

Angenommen, ein Programm startet, beendet sich aber kurz darauf wieder.

Dann:

  1. Process Monitor starten.
  2. Aufzeichnung stoppen.
  3. vorhandene Einträge löschen.
  4. Filter auf den betreffenden Prozess setzen.
  5. Aufzeichnung starten.
  6. Programm öffnen.
  7. warten, bis der Fehler auftritt.
  8. Aufzeichnung sofort stoppen.

Danach solltest Du besonders die letzten Ereignisse vor dem Ende des Prozesses untersuchen.

Achte unter anderem auf:

ACCESS DENIED

NAME NOT FOUND

PATH NOT FOUND

sowie auf die dazugehörigen Pfade.

Die letzten Ereignisse vor einem Programmabbruch untersuchen

Wenn eine Anwendung unerwartet beendet wird, ist das Ende der Aufzeichnung häufig besonders interessant.

Process Monitor kann beispielsweise Prozess- und Thread-Enden erfassen.

Siehst Du kurz vor dem Prozessende einen fehlgeschlagenen Zugriff, solltest Du prüfen:

  • Welcher Pfad war betroffen?
  • Trat das Ereignis unmittelbar vor dem Absturz auf?
  • Wiederholt sich dieses Verhalten bei jedem Versuch?
  • Gibt es danach noch einen erfolgreichen alternativen Zugriff?
  • Wird ein weiterer Prozess gestartet?
  • Erscheint ein Fehlerbehandlungsprozess?
  • Gehört die Datei oder der Registry-Eintrag tatsächlich zur problematischen Anwendung?

Je reproduzierbarer der Ablauf ist, desto aussagekräftiger wird die Spur.

Dateizugriffe untersuchen

Process Monitor eignet sich hervorragend, um herauszufinden, welche Dateien eine Anwendung während einer bestimmten Aktion verwendet.

Das ist beispielsweise interessant, wenn Einstellungen nicht gespeichert werden.

Du kannst dann:

  1. auf den Prozess des Programms filtern,
  2. die Aufzeichnung starten,
  3. eine Einstellung ändern,
  4. im Programm auf „Speichern“ oder „Übernehmen“ klicken,
  5. die Aufzeichnung stoppen.

Anschließend kannst Du prüfen, welche Dateien geschrieben oder geöffnet wurden.

Besonders interessant sind dabei unter anderem:

CreateFile

ReadFile

WriteFile

Dadurch lässt sich häufig erkennen, ob eine Anwendung ihre Konfiguration beispielsweise unter:

Program Files

ProgramData

oder im Benutzerprofil ablegt.

Registry-Zugriffe untersuchen

Viele Programme speichern Einstellungen in der Windows-Registry.

Auch diese Zugriffe zeichnet Process Monitor auf.

Typische Registry-Operationen sind beispielsweise:

RegOpenKey

RegQueryValue

RegSetValue

In der Spalte Path siehst Du den betreffenden Registry-Pfad.

Beispiele:

HKCU\Software\Beispiel

oder:

HKLM\Software\Beispiel

Dabei ist die Unterscheidung besonders wichtig.

HKCU

steht für den Bereich des aktuell angemeldeten Benutzers.

HKLM

enthält dagegen systemweite Einstellungen.

Versucht ein Programm beispielsweise einen geschützten Bereich unter HKLM zu verändern und erhält ACCESS DENIED, kann dies ein wichtiger Hinweis sein.

Du solltest einen Registry-Eintrag aber nicht allein aufgrund einer Procmon-Anzeige verändern.

Process Monitor zeigt zunächst lediglich, dass ein Zugriff stattgefunden hat oder fehlgeschlagen ist. Ob der betreffende Eintrag tatsächlich verändert werden sollte, muss separat geprüft werden.

Mit der Suchfunktion arbeiten

Bei einer größeren Aufzeichnung kannst Du gezielt nach Begriffen suchen.

Geeignet sind beispielsweise:

ACCESS DENIED

NAME NOT FOUND

ein bestimmter Dateiname

ein Ordnername

ein Registry-Pfad

oder ein Prozessname.

Die Suche eignet sich besonders, wenn Du bereits einen konkreten Anhaltspunkt hast.

Für eine systematische Fehlersuche sind Filter meistens übersichtlicher.

Mehrere Filter kombinieren

Process Monitor kann anhand zahlreicher Eigenschaften filtern.

Du kannst beispielsweise zunächst einen bestimmten Prozess auswählen und anschließend zusätzlich nach einem bestimmten Pfad oder einer bestimmten Operation suchen.

Wichtig ist jedoch:

Filtere nicht zu früh zu stark.

Wenn Du beispielsweise ausschließlich ACCESS DENIED anzeigen lässt, siehst Du möglicherweise nicht mehr, was unmittelbar davor oder danach geschehen ist.

Für die Fehlersuche ist deshalb häufig folgende Reihenfolge sinnvoll:

  1. zuerst auf den betroffenen Prozess eingrenzen,
  2. Fehler reproduzieren,
  3. auffällige Ereignisse identifizieren,
  4. danach bei Bedarf weiter eingrenzen.

Filter löschen keine aufgezeichneten Daten

Die normalen Filter von Process Monitor arbeiten nicht destruktiv.

Das bedeutet:

Ein ausgeblendetes Ereignis ist nicht automatisch aus der Aufzeichnung gelöscht.

Du kannst deshalb verschiedene Filter ausprobieren, sie wieder entfernen und anschließend erneut andere Kriterien verwenden.

Das ist bei einer komplexen Analyse sehr hilfreich.

Achte allerdings auf Funktionen, mit denen gefilterte Ereignisse ausdrücklich verworfen werden können. Wenn Du solche Optionen verwendest, stehen die betreffenden Daten später möglicherweise nicht mehr für eine erneute Analyse zur Verfügung.

Einzelnes Ereignis genauer untersuchen

Process Monitor Filterdialog Prozess cmd vorhandene Datei Eigenschaften
Ein Doppelklick auf ein Ereignis öffnet die Detailansicht. Hier ist ein erfolgreicher ReadFile-Zugriff auf config.txt zu sehen.

Ein Doppelklick auf einen Eintrag öffnet dessen Eigenschaften.

Dort stehen weitere Informationen zur Verfügung, beispielsweise:

  • Prozessinformationen
  • Prozesspfad
  • Benutzer
  • Sitzungsinformationen
  • Details zur Operation
  • Thread-Informationen
  • Stack-Informationen

Die Stack-Auswertung kann bei komplexen Problemen sehr leistungsfähig sein, setzt aber deutlich mehr Wissen über Windows und die beteiligten Programmkomponenten voraus.

Für eine normale Fehlersuche ist sie meistens nicht erforderlich.

Fehler beim Windows-Start untersuchen

Enable Boot Logging
Mit „Enable Boot Logging“ kann Process Monitor Aktivitäten bereits während des Windows-Starts erfassen.

Manche Probleme treten bereits während des Windows-Starts auf.

Process Monitor besitzt dafür eine Boot-Logging-Funktion.

Damit können Vorgänge während des Startvorgangs protokolliert und nach dem anschließenden Windows-Start ausgewertet werden.

Das ist beispielsweise hilfreich, wenn:

  • ein Autostartprogramm beim Hochfahren fehlschlägt,
  • ein Dienst beim Windows-Start Probleme verursacht,
  • ein Fehler unmittelbar nach der Anmeldung auftritt,
  • eine bestimmte Datei nur während des Startvorgangs verwendet wird.

Eine Boot-Aufzeichnung kann sehr umfangreich werden.

Nach dem Start solltest Du deshalb wieder gezielt nach dem betreffenden Prozess, Dienst, Pfad oder Ergebnis filtern.

Procmon-Aufzeichnung speichern

Save to File
Aufzeichnungen können im nativen Process-Monitor-Format PML gespeichert und später erneut mit Procmon ausgewertet werden.

Eine Process-Monitor-Aufzeichnung kann gespeichert und später wieder geöffnet werden.

Für eine spätere vollständige Procmon-Auswertung eignet sich besonders das native PML-Format.

Dabei bleiben die für Process Monitor relevanten Ereignisinformationen erhalten.

Das ist nützlich, wenn:

  • ein Problem nur gelegentlich auftritt,
  • Du die Analyse unterbrechen möchtest,
  • eine Aufzeichnung später erneut untersucht werden soll,
  • ein Administrator oder Support-Mitarbeiter den Ablauf prüfen soll.

Vorsicht beim Weitergeben von Procmon-Protokollen

Eine Process-Monitor-Aufzeichnung kann viele Informationen über Deinen Computer enthalten.

Dazu können beispielsweise gehören:

  • Windows-Benutzernamen
  • Datei- und Ordnernamen
  • Pfade im Benutzerprofil
  • Namen installierter Programme
  • Registry-Pfade
  • Prozessnamen
  • Kommandozeilen
  • Systeminformationen
  • Informationen über verwendete Anwendungen

Bevor Du eine PML-Datei, einen CSV-Export oder Screenshots einer Procmon-Aufzeichnung öffentlich weitergibst, solltest Du deshalb prüfen, welche Informationen darin enthalten sind.

Gerade vollständige Aufzeichnungen können deutlich mehr über ein System verraten, als auf den ersten Blick sichtbar ist.

Nicht aufgrund eines einzelnen Eintrags Änderungen vornehmen

Process Monitor ist ein Diagnosewerkzeug.

Ein angezeigter fehlgeschlagener Zugriff bedeutet nicht automatisch, dass Du:

  • eine Datei löschen,
  • eine Datei ersetzen,
  • einen Ordner erstellen,
  • Dateiberechtigungen ändern,
  • Registry-Schlüssel löschen,
  • Registry-Berechtigungen verändern

solltest.

Gerade Windows-Systemprozesse erzeugen zahlreiche Zugriffe, die ohne detaillierte Kenntnis leicht falsch interpretiert werden können.

Änderungen sollten deshalb erst vorgenommen werden, wenn nachvollziehbar geklärt wurde, dass der gefundene Eintrag tatsächlich mit dem beobachteten Problem zusammenhängt.

Vor Änderungen an wichtigen Systemdateien oder der Registry sollte außerdem eine geeignete Sicherung vorhanden sein.

Process Monitor ersetzt nicht die Windows-Ereignisanzeige

Process Monitor und die Windows-Ereignisanzeige haben unterschiedliche Aufgaben und ergänzen sich.

Die Windows-Ereignisanzeige zeigt beispielsweise protokollierte Anwendungsfehler, Systemereignisse und Fehlercodes.

Process Monitor zeigt dagegen sehr detailliert, welche Datei-, Registry- und Prozessaktivitäten während eines bestimmten Vorgangs stattgefunden haben.

Bei einem Programmabsturz kann es deshalb sinnvoll sein:

  1. zunächst die Ereignisanzeige auf einen passenden Fehlereintrag zu prüfen,
  2. anschließend den Fehler mit Process Monitor erneut aufzuzeichnen,
  3. beide Informationen miteinander zu vergleichen.

Dadurch erhältst Du häufig ein wesentlich vollständigeres Bild.

Process Monitor oder Process Explorer?

Process Monitor und Process Explorer gehören beide zu Microsoft Sysinternals, erfüllen aber unterschiedliche Aufgaben.

Process Monitor

Process Monitor zeichnet Aktivitäten über einen Zeitraum auf.

Damit kannst Du beispielsweise nachvollziehen:

  • welche Datei ein Programm gesucht hat,
  • welchen Registry-Schlüssel es geöffnet hat,
  • welcher Zugriff verweigert wurde,
  • was unmittelbar vor einem Fehler passiert ist.

Vereinfacht:

Was ist passiert?

Process Explorer

Process Explorer untersucht dagegen vor allem den aktuellen Zustand laufender Prozesse.

Damit kannst Du beispielsweise prüfen:

  • welche Prozesse momentan laufen,
  • welche DLLs geladen sind,
  • welche Handles ein Prozess geöffnet hat,
  • welcher Prozess eine bestimmte Ressource verwendet.

Vereinfacht:

Was ist gerade aktiv oder geöffnet?

Beide Programme ergänzen sich bei einer umfangreicheren Windows-Fehlerdiagnose sehr gut.

Häufige Fehler bei der Procmon-Auswertung

Jeden roten oder fehlgeschlagenen Eintrag für einen Fehler halten

Das ist einer der häufigsten Fehler.

NAME NOT FOUND oder ACCESS DENIED können völlig normale Bestandteile eines Programmablaufs sein.

Entscheidend ist immer der Zusammenhang.

Die komplette Windows-Aufzeichnung durchsuchen

Ohne Filter entstehen schnell enorme Datenmengen.

Grenze die Analyse zunächst auf den betroffenen Prozess oder Vorgang ein.

Zu früh zu stark filtern

Wer ausschließlich nach einem einzigen Resultat sucht, verliert möglicherweise den Ablauf davor und danach aus den Augen.

Beginne deshalb lieber mit einem Prozessfilter.

Die Aufzeichnung nach dem Fehler weiterlaufen lassen

Wenn der Fehler bereits aufgetreten ist, solltest Du die Aufzeichnung möglichst sofort stoppen.

Sonst kommen unnötig weitere Ereignisse hinzu.

Nur einen Prozess betrachten

Moderne Anwendungen verwenden häufig mehrere Prozesse.

Kontrolliere bei Bedarf den Process Tree.

Einen gefundenen Registry-Eintrag sofort verändern

Ein fehlgeschlagener Registry-Zugriff ist zunächst nur ein Hinweis.

Er beweist nicht, dass der betreffende Registry-Eintrag falsch ist.

Procmon als Reparaturprogramm betrachten

Process Monitor repariert keine Windows-Fehler.

Es hilft Dir dabei, die Ursache einzugrenzen.

Process Monitor ist ein Diagnosewerkzeug – kein Reparaturprogramm

Die besondere Stärke von Procmon besteht darin, Fragen zu beantworten wie:

  • Welcher Prozess war beteiligt?
  • Welche Datei wurde gesucht?
  • Welcher Ordner wurde angesprochen?
  • Welcher Registry-Wert wurde gelesen?
  • Welcher Zugriff wurde verweigert?
  • Welche Ressource wurde nicht gefunden?
  • Welcher Prozess wurde anschließend gestartet?
  • Was passierte unmittelbar vor einem Programmabbruch?

Erst aus diesen Informationen ergibt sich der nächste sinnvolle Reparaturschritt.

Statt verschiedene Änderungen auf Verdacht auszuprobieren, kannst Du dadurch zunächst untersuchen, was tatsächlich passiert.

Fazit

Process Monitor gehört zu den leistungsfähigsten kostenlosen Diagnosewerkzeugen für Windows.

Die enorme Menge an angezeigten Ereignissen kann zunächst abschreckend wirken. Für eine normale Fehlersuche musst Du jedoch längst nicht jede Funktion des Programms verstehen.

In vielen Fällen reicht bereits folgende Vorgehensweise:

  1. betroffenen Prozess bestimmen,
  2. Procmon-Aufzeichnung vorbereiten,
  3. auf diesen Prozess filtern,
  4. Aufzeichnung starten,
  5. Fehler reproduzieren,
  6. Aufzeichnung sofort stoppen,
  7. die Ereignisse rund um den Fehler untersuchen,
  8. auffällige Ergebnisse im Zusammenhang bewerten.

Besonders wichtig ist die richtige Interpretation.

NAME NOT FOUND, PATH NOT FOUND und ACCESS DENIED können auf eine Ursache hinweisen – müssen es aber nicht.

Statt einen einzelnen auffälligen Eintrag herauszugreifen, solltest Du deshalb immer untersuchen, was unmittelbar davor und danach passiert ist und ob sich der gleiche Ablauf reproduzieren lässt.

Genau dann wird aus der zunächst unübersichtlichen Procmon-Aufzeichnung ein sehr leistungsfähiges Werkzeug für die gezielte Windows-Fehlersuche.

Problem noch nicht gelöst oder weitere Anmerkungen?

Hat dir die Anleitung nicht vollständig geholfen? Fehlt etwas oder möchtest du einen hilfreichen Hinweis geben? Deine Rückmeldung kann dabei helfen, diesen Artikel zu verbessern.

kostnix-web.de - Windows Toolbox Welcome

Empfehlung: Nutze die neue kostnix-web.de – Windows Toolbox!

Die kostnix-web.de – Windows Toolbox bündelt viele hilfreiche Windows-Werkzeuge in einem Programm – übersichtlich, kostenlos, digital signiert und geeignet für Windows 10 und Windows 11. Berichte und Programmdaten bleiben lokal auf Deinem Computer und werden nicht automatisch an kostnix-web.de übertragen.

Aktuelle Programmversion: 1.0.8

USB-Schreibschutz und Explorer-Absturzdiagnose stehen derzeit noch als eigenständige Tools zur Verfügung. Wenn Du mehrere Windows-Funktionen nutzen möchtest, ist die Windows Toolbox jedoch meist die bequemere Lösung. Beide Funktionen sollen später ebenfalls in die Toolbox integriert werden.

Unser Tipp:
Schau Dir die Windows Toolbox an. Auf der Toolbox-Seite findest Du weitere Informationen sowie die Installer-Version und die portable Version.

Weitere Artikel

kostnix-web.de bietet eine Vielzahl weiterer kostenloser Artikel an, die Dir helfen können, Deinen Computer zu warten und Probleme zu beheben. Eine kleine Auswahl findest Du hier: