Suchen

Windows Tools, die man kennen sollte – Prozessanalyse mit den Sysinternals Treiber, Programme und Dienste anhand der Prozesstätigkeit analysieren

| Autor / Redakteur: Frank Castro Lieberwirth / Dipl.-Ing. (FH) Andreas Donner

Den richtigen Überblick über das Systemverhalten eines Windows-Rechners erlangt man häufig nur, wenn man geladene Module im Betriebssystem identifizieren und deren Tätigkeit analysieren kann. Mit den hier vorgestellten kostenlosen Tools ist es möglich, Treiber, beliebige Programme, Dienste oder sogar Schadsoftware anhand deren Prozesstätigkeit zu identifizieren und zu analysieren.

Firmen zum Thema

Prozess-Strukturen und Abhängigkeiten erkennen
Prozess-Strukturen und Abhängigkeiten erkennen
( Archiv: Vogel Business Media )

Neben den klassischen Bordmitteln des Windows-Betriebssystems gibt es die Diagnose-Tools von Windows Sysinternals, die ebenfalls aus dem Hause Microsoft stammen. Microsoft hat im Juli 2006 die Firma Winternals Software samt Gründer (Mark Russinovich und Bryce Cogswell) übernommen. Seitdem werden die englischsprachigen Tools direkt über das Microsoft Technet angeboten. Nach Expertenmeinung stellen sie derzeit die besten kostenfreien Diagnosetools für die Prozessanalyse dar.

Prozess Ein-Mal-Eins

Ein Prozess stellt ein Computerprogramm dar, zu dem ein Prozesskontext (CPU-Register, Adressraum, usw.) und Daten gehören. Der Prozess nutzt seine Ressourcen exklusiv, das heißt er reserviert den Adressraum im Speicher für sich selber und schottet ihn bis auf etwaige Schnittstellen idealerweise gegenüber der Außenwelt ab. Dieses Verhalten unterscheidet ihn von einem Thread, welcher seinen Adressraum mit weiteren Threads teilen kann. Insofern stellt ein Thread eine kleinere Einheit innerhalb eines Prozesses dar, um beispielsweise durch Multithreading einen Geschwindigkeitsvorteil zu erhalten.

Bildergalerie
Bildergalerie mit 9 Bildern

In der Microsoft-Terminologie heißen Prozesse jedoch „Tasks“. Bei einem Windows Betriebssystem sind viele Prozesse in einer Prozess-Struktur zusammengefasst. Diese Prozesse und Prozess-Strukturen zu identifizieren und ggf. zu beenden, helfen nachfolgend beschriebene Tools.

Windows Module

Bei Microsoft Windows-Programmen werden oft dynamische Bibliotheken, sog. Dynamic Link Layer (DLL), verwendet, die letztendlich Programm Module darstellen. Die DLL existiert unter Umständen parallel zum Prozess und kann wie die ActiveX-Steuerelemente aktiv in das Betriebssystem eingreifen. Da DLLs bei Updates einfach ausgetauscht werden können, werden Treiber in Form von DLLs programmiert.

Das Handwerkszeug (Die wichtigsten Tools im Überblick)

  • Microsoft Windows – Task Manager (taskmgr.exe)
  • Microsoft Windows 7 Systeminformationen – Msinfo32.exe (bei Windows XP – winmsd.exe)
  • Sysinternals – Prozess Explorer V15.01 (procexp.exe)
  • Sysinternals – Prozess Monitor V2.95 (Procmon.exe)
  • Sysinternals – VMMap V3.1 und RAMMap V1.11

Task Manager

Im Windows Taskmanager können nicht nur die Prozesse, sondern auch dazugehörige Programme mit deren Beschreibung und Programmnamen ermittelt werden. Zum Programmname erscheint auch der Pfad zur Festplatte. Der Tipp hierfür lautet also, die Voreinstellung in „Ansicht/Spalten auswählen“ zu erweitern. Mit der rechten Maustaste erhält man ein kleines Menü, wo man unter anderem auch den Dateipfad des ausgewählten Prozesses öffnen kann. Bis auf die gesperrten Systemprozesse können Prozesse oder Prozess-Strukturen forciert beendet („Kill Task“) werden. Für den ersten Überblick und zum Beenden von „hängenden“ Anwendungen ist der Task Manager völlig ausreichend.

Systeminformationen

Weniger bekannt ist die Windows 7-Anwendung Msinfo32.exe, die vormals bei Windows XP winmsd.exe hieß. Die so genannten Systeminformationen sind etwas versteckt in der Systemsteuerung zu finden. Schneller geht es, sie direkt aus der Kommandozeile aufzurufen. Im Knoten Softwareumgebung/geladene Module finden sich aber nur Informationen über Treiber und andere Dienste.

Prozess Explorer

Der Prozess Explorer V15.01 (procexp.exe) von Sysinternals hat das, was man sich im Taskmanager und in den Systeminformationen erst zusammensuchen muss. Sein Fokus liegt in der Analyse der Prozesse im Arbeits- und Kernelspeicher. Wer möchte, kann gleich mit einer Programmoption den Task-Manager durch den Prozess Monitor ersetzen.

Je nach Ansicht erhält der Anwender ein zwei geteiltes Fenster. Im oberen Teil ist der Prozess-Baum und im unteren Teil sind die zu einem ausgewählten Prozess zugehörigen DLLs (DLL-Modus) bzw. Handles (Handle-Modus) zu finden. Unter den Eigenschaften zeigt der Prozess Explorer zu einem ausgewähltem Prozess detaillierte Informationen an: Neben den zugehörigen Threads mit deren Startadresse können unter anderem Leistungs- und Sicherheitsdaten ausgelesen werden. Die Möglichkeiten sind derart umfangreich, dass es diesen Artikel sprengen würde. Möchte man beispielsweise einen Druckertreiber suchen, kann man über „Find“ oder Ctrl-F den Prozess, die DLL oder bestimmte Handles ermitteln. DLL-Versionsproblemen oder Handle-Verlusten kann somit sofort auf die Spur gekommen werden. Möchte man DLLs lediglich auslesen, hilft das Sysinternals-Kommandozeilentool Listdlls.exe.

Prozess Monitor

Der Prozess Monitor V2.95 (Procmon.exe) zeichnet Daten innerhalb eines Intervalls auf und ähnelt somit in der Funktionsweise dem Netzwerkmonitor. Bei den Daten handelt es sich um Informationen über den Zugriff auf das Dateisystem oder die Registrierung (Windows Registry). Somit stellt der Prozess Monitor eine Ergänzung des Prozess Explorers dar, der diese Features nicht abdeckt. Im Detail kann ermittelt werden, welche DLLs, EXE-Dateien, usw. für einen Prozess tätig sind. Der Anwender erhält genaue Angaben über Installationsort und Speicheradresse. Wer das Pech hat, einen Virus erwischt zu haben, kann mit dem Prozess Monitor beobachten, welche Dateien, DLLs oder gar Prozesse involviert sind.

Speicheranalyse mit VMMap und RAMMap

VMMap V3.1 (VMMap.exe) ist ein grafisches Tool zur Analyse des virtuellen und physikalischen Speichers. Es zeigt unter anderem, wie ein vorher ausgewählter Prozess Speicher im RAM allokiert. VMMap ist ein Werkzeug für Softwareentwickler, die das Speicherverhalten ihrer Anwendung kontrollieren bzw. verbessern möchten.

RAMMap V1.11 (RAMMap.exe) ähnelt vom Aufbau her dem Task-Manager, zeigt aber mehr Informationen über die Speicheraufteilung mit den Prozessen im RAM und im Cache. Die Informationstiefe ist nicht so hoch, wie beim VMMap.

Fazit

Die kostenlosen Tools von Sysinternals hängen die Messlatte für Diagnosesoftware sehr hoch. Besonders gut gelungen ist das All-in-One-Werkzeug Prozess Explorer, das wie ein Schweizer-Messer für viele Belange der Prozessanalyse sehr gut funktioniert. Lediglich die Dokumentation könnte etwas ausführlicher sein.

Artikelfiles und Artikellinks

(ID:2052521)