[Newsletter-Archiv ^] [< Band 6, Nummer 1] [Band 7, Nummer 1 >]
Der Systems Internals-Newsletter Band 6, Nummer 2
http://www.sysinternals.com
Copyright (C) 2004 Mark Russinovich
30. Juli 2004 – In dieser Ausgabe:
LEITARTIKEL
- Dave Solomons Gastartikel zur eingehenden Untersuchung von Threaddetails mit Process Explorer
NEUERUNGEN BEI SYSTEM INTERNALS
- Updates von Tools
- Sysinternals ist eine Microsoft Windows XP-Communitywebsite
AUFRUF ZUM EINSENDEN VON ERFOLGSGESCHICHTEN ZU SYSINTERNALS
- Senden Sie uns Ihre Erfolgsgeschichten, und gewinnen Sie ein Sysinternals-T-Shirt!
ARTIKEL IM MAGAZIN
- PsExec
- Der Schwindel mit der Arbeitsspeicheroptimierung
WINDOWS-INTERNA IN DER PRAXIS UND ERWEITERTER PROBLEMBEHANDLUNGSKURS
- San Francisco: 27. September–1. Oktober
MARKS VORTRAGSPLAN
- TechMentor
- Windows Connections
- Microsoft IT Forum
Der Sysinternals-Newsletter wird von Winternals Software gesponsert, im Internet unter http://www.winternals.com. Winternals ermöglich Microsoft eine intelligente Wiederherstellung.
Das in Kürze verfügbare Windows XP Service Pack 2 bietet zahlreiche Vorteile, kann aber auch zu unerwünschten oder unvorhergesehenen Verhaltensweisen innerhalb des Betriebssystems und von Anwendungen führen. Mit Winternals Recovery Manager können Sie Systeme, die durch Patches und Service Packs beeinträchtigt wurden, sicher und schnell zurücksetzen, selbst wenn die Systeme nicht mehr startfähig sind. Um mehr über Recovery Manager zu erfahren und eine Test-CD zu bestellen, besuchen Sie diese Website: http://www.winternals.com/es/solutions/recoverymanager.asp
LEITARTIKEL
Dave Solomon und ich arbeiten nach wie vor mit Hochdruck an der nächsten Ausgabe von „Inside Windows 2000“ (mit dem Titel „Windows Internals“, 4. Auflage) und gehen davon aus, dass das Manuskript in den nächsten Wochen fertiggestellt sein wird. Der Umfang des Buchs, das Windows 2000, Windows XP und Windows Server 2003 abdeckt, ist gegenüber der dritten Auflage um etwa 20 % angewachsen. Wir denken, dass Sie das Buch noch nützlicher finden werden als die vorherige Ausgabe, da wir nicht nur das bestehende Material erweitert und neuen Text hinzugefügt haben, um Änderungen unter Windows XP und 2003 abzudecken, sondern auch Material zur Fehlerbehebung für Themen wie Analyse von Absturzabbildern, Systemstart, Arbeitsspeicher, CPU, Dateisystem und Registrierung hinzugefügt haben.
Da ich meine Zeit auf die Fertigstellung des Buchs konzentriere, ist dieser Newsletter kurz, aber ich werde ihn regelmäßig weiterführen, sobald das Buch fertig ist. In der Zwischenzeit habe ich einen Gastartikel von Dave Solomon eingestellt, der sich mit der erweiterten Nutzung von Process Explorer befasst und über das hinausgeht, was ich im letzten Newsletter behandelt habe.
Viel Spaß und leiten Sie den Newsletter bitte an Personen weiter, von denen Sie glauben, dass sie ihn interessant finden werden!
- Mark Russinovich
Untersuchen der Threadaktivität mit Process Explorer
Von Dave Solomon (daves@..., http://www.solsem.com)
Process Explorer bietet einfachen Zugriff auf Threadaktivitäten innerhalb eines Prozesses. Dies ist besonders wichtig, wenn Sie ermitteln möchten, warum ein Prozess ausgeführt wird, der mehrere Dienste hostet (z. B. Svchost.exe, Dllhost.exe, Inetinfo.exe oder den Systemprozess) oder warum ein Prozess hängt.
Um die Threads in einem Prozess anzuzeigen, wählen Sie einen Prozess aus. Öffnen Sie die Prozesseigenschaften (doppelklicken Sie auf den Prozess oder klicken Sie auf das Menüelement „Process->Properties“), und klicken Sie auf die Registerkarte „Threads“. Dadurch wird eine Liste der Threads im Prozess, der Prozentsatz der genutzten CPU (basierend auf dem konfigurierten Aktualisierungsintervall), die Anzahl der Kontextwechsel zum Thread und die Startadresse des Threads angezeigt. Sie können nach einer dieser drei Spalten sortieren. Wenn Sie die einzelnen Threads in der Liste auswählen, zeigt Process Explorer die Thread-ID, Startzeit, den Zustand, die Leistungsindikatoren für die CPU-Zeit, die Anzahl der Kontextwechsel sowie die Basis- und aktuelle Priorität an. Es gibt zwar die Schaltfläche „Kill“, mit der ein einzelner Thread beendet werden kann, doch sollte diese mit äußerster Vorsicht verwendet werden.
Neu erstellte Threads werden grün hervorgehoben, beendete Threads rot (die Dauer der Hervorhebung lässt sich über das Menüelement „Options->Configure Highlighting“ konfigurieren). Dies kann hilfreich sein, um die unnötige in einem Prozess erfolgende Erstellung von Threads zu ermitteln (im Allgemeinen sollten Threads beim Start eines Prozesses erstellt werden und nicht jedes Mal, wenn eine Anforderung innerhalb eines Prozesses verarbeitet wird).
Das Kontextwechseldelta gibt an, wie oft der Thread zwischen den für Process Explorer konfigurierten Aktualisierungen mit seiner Ausführung begann. Dies ist eine andere Methode zur Bestimmung der Threadaktivität als der Prozentsatz der genutzten CPU-Kapazität, da viele Threads nur so kurz ausgeführt werden, dass sie selten (wenn überhaupt) der aktuell laufende Thread sind, wenn der Intervall-Timer-Interrupt auftritt, weshalb ihre CPU-Zeit nicht angerechnet wird.
Die Startadresse des Threads wird im Format module!function angezeigt, wobei „module“ der Name der EXE- oder DLL-Datei ist. Der Funktionsname beruht auf dem Zugriff auf Symboldateien für das Modul, die Sie erhalten, wenn Sie Process Explorer für die Nutzung von Microsoft Symbol Server konfigurieren (weitere Informationen finden Sie in der Hilfe zu den Microsoft-Debugtools für Windows, die Sie von der Microsoft-Website unter http://www.microsoft.com/whdc/devtools/debugging/default.mspx). herunterladen können. Wenn Sie nicht sicher sind, was das Modul ist, klicken Sie auf die Schaltfläche „Module“. Dadurch wird im Explorer ein Dateieigenschaftenfenster für das Modul geöffnet, das die Startadresse des Threads enthält (z. B. die EXE- oder DLL-Datei). Bei Threads, die von der Windows-Funktion CreateThread
erstellt werden, zeigt Process Explorer die an CreateThread
übergebene Funktion an, nicht die tatsächliche Startfunktion des Threads. Das liegt daran, dass alle Windows-Threads mit einer gemeinsamen Wrapperfunktion zum Starten von Prozessen oder Threads beginnen (BaseProcessStart
oder BaseThreadStart
in „Kernel32.dll“). Wenn Process Explorer die tatsächliche Startadresse anzeigen würde, würden die meisten Threads in Prozessen bei derselben Adresse beginnen, was nicht hilfreich wäre, um zu verstehen, welchen Code der Thread gerade ausgeführt hat.
Die angezeigte Startadresse des Threads reicht jedoch möglicherweise nicht aus, um festzustellen, welche Aufgabe der Thread hat und welche Komponente innerhalb des Prozesses für die vom Thread genutzte CPU verantwortlich ist. Dies gilt insbesondere dann, wenn es sich bei der Startadresse des Threads um eine generische Startfunktion handelt (z. B. wenn der Funktionsname nicht angibt, was der Thread tatsächlich tut). In diesem Fall kann die Untersuchung des Threadstapels die Frage beantworten. Um den Stapel für einen Thread anzuzeigen, doppelklicken Sie auf den relevanten Thread (oder wählen Sie ihn aus, und klicken Sie auf die Schaltfläche „Stack“). Process Explorer zeigt den Stapel des Threads an (sowohl den Benutzer- als auch Kernelstapel, wenn sich der Thread im Kernelmodus befand). Während die Debugger für den Benutzermodus (Windbg, Ntsd und Cdb) Ihnen ermöglichen, sich an einen Prozess anzufügen und den Benutzerstapel für einen Thread anzuzeigen, zeigt Process Explorer sowohl den Benutzer- als auch den Kernelstapel mit einem einfachen Mausklick an. Sie können Benutzer- und Kernelthreadstapel auch mit Livekd von Sysinternals untersuchen, was allerdings schwieriger ist. Beachten Sie, dass bei Ausführung von Windbg im lokalen Kerneldebugmodus, der nur unter Windows XP oder Windows Server 2003 unterstützt wird, Threadstapel nicht angezeigt werden.
[Persönliche Anmerkung von Mark: Dies half mir bei der Lösung des Problems, warum PowerPoint bei jedem Start eine Minute hängen blieb. Ich habe mir mit Process Explorer den Stapel des einen Threads im PowerPoint-Prozess angesehen. Er wartete auf einen Aufruf zum Herstellen einer Verbindung mit einem Netzwerkdrucker. Es stellte sich heraus, dass ich eine Verbindung mit einem Netzwerkdrucker hatte, der nicht reagierte. Da die Microsoft Office-Anwendungen beim Starten des Prozesses eine Verbindung mit allen konfigurierten Druckern herstellen, blieb PowerPoint „hängen“, bis beim Versuch, sich mit dem Drucker zu verbinden, ein Timeout auftrat. Nachdem ich die Verbindung mit dem Drucker gelöscht hatte, war das Problem beseitigt].
NEUERUNGEN BEI SYSTEM INTERNALS
UPDATES VON TOOLS
Seit dem letzten Newsletter im April wurden einige Tools aktualisiert. Es folgt eine Zusammenfassung der Verbesserungen:
Prozess-Explorer
Process Explorer ist ein Ersatz für Task-Manager (Sie können Task-Manager sogar durch eine Auswahl im Process Explorer-Menü „Options“ ganz ersetzen).
- Die Registerkarte „TCP/IP“ in den Prozesseigenschaften zeigt TCP- und UDP-Verbindungen an. Änderungen werden farblich hervorgehoben, sodass neue und geschlossene Verbindungen mühelos erkannt werden können.
- 64-Bit-Version für AMD64-Systeme
- Unterstützung für das Festlegen von Prozessaffinitätsmasken auf (hyperthreaded) SMT- und SMP-Systemen
- Anzeigen von Leistungsverbesserungen von Updates
http://www.sysinternals.com/ntw2k/freeware/procexp.shtml
DebugView
DebugView ist ein Hilfsprogramm für Entwickler, mit dem Sie Debugausgaben im Benutzer- und Kernelmodus ohne einen Debugger lokal oder über das Netzwerk erfassen können.
- Größere Kernelmodus- und Benutzerpuffer
- Mehr Hervorhebungsfilter
- Umbruch von Protokolldateien
- Unterstützung für die Debugausgabe des Windows XP SP2-Kernels
- Löscht die Ausgabe, wenn die spezielle Debugzeichenfolge „clear output“ angezeigt wird
http://www.sysinternals.com/ntw2k/freeware/debugview.shtml
Pendmoves
Pendmoves ist ein neues Sysinternals-Hilfsprogramm, das die Befehle zum Verschieben und Löschen von Dateien anzeigt, die auf einem System für den nächsten Systemstart geplant wurden.
http://www.sysinternals.com/ntw2k/source/misc.shtml#pendmoves
Adrestore
Adrestore ist ein Befehlszeilenhilfsprogramm, das die Funktionen zum Wiederherstellen gelöschter Objekte von Windows Server 2003 Active Directory (AD) nutzt, um eine eingeschränkte Wiederherstellungsfunktion für AD-Objekte bereitzustellen.
http://www.sysinternals.com/ntw2k/source/misc.shtml#adrestore
BlueScreen-Bildschirmschoner
Dieser Bildschirmschoner, der den „blauen Bildschirm des Todes“ nachahmt, unterstützt jetzt Systeme mit mehreren Monitoren und Windows Server 2003.
http://www.sysinternals.com/ntw2k/freeware/bluescreensaver.shtml
LogonSessions
Dieses neue Befehlszeilenhilfsprogramm zeigt die Liste der Anmeldesitzungen auf einem System an, einschließlich Netzwerk-, interaktiver und Batchsitzungen, und zeigt auch die in jeder Sitzung ausgeführten Prozesse.
http://www.sysinternals.com/ntw2k/source/misc.shtml#logonsessions
Pstools
Die Pstools-Suite besteht aus 11 administrativen Befehlszeilentools, die lokal und remote funktionieren. Viele von ihnen wurden in den letzten Monaten aktualisiert und unterstützen nun auch mehrere Computersysteme, die Sie über die Befehlszeile oder eine Textdatei angeben können.
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml
Autoruns
Autoruns zeigt die umfassendste Liste von Speicherorten in der Windows-Registrierung und im Dateisystem, mit deren Hilfe sich Anwendungen so konfigurieren können, dass sie während des Startvorgangs automatisch gestartet werden.
- Dateisystem- und Registrierungsspeicherorte verteilen sich nun auf mehrere Spalten, um das Lesen zu erleichtern
- Option zur Anzeige von ausschließlich Nicht-Microsoft-Einträgen, sodass Sie leichter erkennen können, für welche Nicht-Microsoft-Software das Starten konfiguriert ist, wenn Sie sich anmelden
- Jetzt kann ein Eintrag deaktiviert werden, ohne ihn aus der Registrierung zu löschen (wodurch Autoruns zu einer Obermenge von Msconfig wird)
- Option zum Anzeigen von Diensten, die für den Start zur Systemstartzeit konfiguriert sind
http://www.sysinternals.com/ntw2k/freeware/autoruns.shtml
Zusätzlich zu Updates von Tools gibt es ein Update eines technischen Artikels:
Referenzen zu den Optionen für „Boot.ini“
Diese Referenz enthält jetzt auch „boot.ini“-Schalter, die unter Windows XP und Windows Server 2003 hinzugefügt wurden.
http://www.sysinternals.com/ntw2k/info/bootini.shtml
SYSINTERNALS IST EINE MICROSOFT WINDOWS XP-COMMUNITYWEBSITE
Sysinternals ist seit einigen Jahren eine Communitywebsite für Windows XP Embedded auf Microsoft.com. Jetzt bin ich stolz darauf, bekannt zu geben, dass Sysinternals von Microsoft auch zu einer Communitywebsite auf der Seite „Windows XP Expert Zone“ gemacht wurde:
http://www.microsoft.com/windowsxp/expertzone/default.mspx
AUFRUF ZUM EINSENDEN VON ERFOLGSGESCHICHTEN ZU SYSINTERNALS
Die Teilnehmer an meinen Seminaren und Konferenzpräsentationen hören gerne Erfolgsgeschichten aus der Praxis. Wenn Sie also ein Problem mit den Sysinternals-Tools gelöst haben, würde ich gerne mehr darüber erfahren. Wenn Sie mir eine an mark@... schicken, nehmen Sie an einer monatlichen Verlosung teil, bei der Sie eine limitierte Version eines bereits vergriffenen Sysinternals-T-Shirts gewinnen können. Bitte beschreiben Sie so detailliert wie möglich, wie das Sysinternals-Tool zur Lösung Ihres Problems beigetragen hat, und senden Sie, falls möglich und zutreffend, Screenshots und/oder Protokolldateien (Filemon und Regmon können ihre Ausgaben beide in einer Textdatei speichern).
ARTIKEL IM MAGAZIN
PsExec
Dieser Artikel, den ich für die Juli-Ausgabe geschrieben habe, ist derzeit nur für Abonnenten von Windows and .NET Magazine verfügbar. Es geht darin um die erweiterte Nutzung von PsExec, wobei die Funktionsweise und das Zusammenspiel mit den Windows-Sicherheitsvorkehrungen beschrieben werden.
http://www.winnetmag.com/Windows/Issues/IssueID/714/Index.html
Der Schwindel mit der Arbeitsspeicheroptimierung
In diesem Windows and .NET-Magazine das für Nicht-Abonnenten verfügbar ist, beschreibe ich das trügerische Verhalten sog. „RAM-Optimierer“.
http://www.winnetmag.com/Windows/Article/ArticleID/41095/41095.html
WINDOWS INTERNA IN DER PRAXIS UND ERWEITERTER PROBLEMBEHANDLUNGSKURS
27. September–1. Oktober 2004 in San Francisco
Zum ersten Mal präsentieren David Solomon und ich die fünftägige praktische Version unseres Kurses über Windows 2000/XP/2003-Interna und erweiterte Problembehandlung in San Francisco vom 27. September bis zum 1. Oktober 2004 der Öffentlichkeit. (Teilnehmer müssen ihren eigenen Laptop mitbringen. Details zur Konfiguration werden im Voraus mitgeteilt. Der Kauf zusätzlicher Software ist nicht erforderlich.)
Dies ist derselbe Kurs, den wir Microsoft-Mitarbeitern auf der ganzen Welt anbieten. Behandelt werden die Interna von Prozessen und Threads, Threadplanung, Arbeitsspeicherverwaltung, Sicherheit, Registrierung und E/A-System. Machen Sie sich mit Mechanismen wie Systemthreads, Verteilung von Systemaufrufen, Interruptbehandlung, Systemstart und Herunterfahren vertraut. Erlernen Sie fortgeschrittene Techniken zur Problembehandlung mit den Tools von Sysinternals und die Durchführung einer Analyse von Absturzabbildern.
Gründe für diesen Kurs Wenn Sie ein IT-Experte sind, der Windows-Server und -Arbeitsstationen bereitstellt und unterstützt, müssen Sie in der Lage sein, hinter die Kulissen zu sehen, wenn Probleme auftreten. Wenn Sie die internen Aspekte des Windows-Betriebssystems verstehen und wissen, wie man fortgeschrittene Tools zur Fehlerbehebung einsetzt, können Sie solche Probleme besser bewältigen und die Systemleistung besser verstehen. Das Verständnis der Internals kann Programmierer*innen helfen, die Vorteile der Windows-Plattform besser zu nutzen und erweiterte Debugtechniken bereitzustellen. Und da der Kurs mit vollem Zugang zum Quellcode des Windows-Kernels und zu den Entwicklern entwickelt wurde, können Sie sicher sein, dass Sie die wahre Geschichte erfahren.
Details und Registrierungsmöglichkeiten finden Sie unter
http://www.sysinternals.com/troubleshoot.shtml
MARKS VORTRAGSPLAN
Nach meinen Vorträgen auf der Microsoft TechEd US und TechEd Europe im Mai und Juni genieße ich den Sommer zu Hause im sonnigen Texas. Hier sind meine nächsten drei Konferenzvorträge:
TECHMENTOR
27. September–1. Oktober 2004, San Jose, Kalifornien
Ich biete auf dieser Konferenz vier Sitzungen an, alle am 29. September, einschließlich „Windows und Linux: A Tale of Two Kernels“ als Keynote. Meine anderen Sitzungen haben die Titel „Windows Hang and Crash Dump Analysis“, „Windows XP and Windows Server 2003 Kernel Changes“ und „Troubleshooting Windows Boot and Startup“.
Sie können meine Zusammenfassungen lesen und finden einen Link zur Registrierungsseite der Konferenz unter
http://www.sysinternals.com/ntw2k/info/talk.shtml
WINDOWS CONNECTIONS
24.–27. Oktober 2004 Orlando, Florida
Auf dieser Konferenz halte ich meinen Vortrag „Troubleshooting Windows Boot and Startup“ im Rahmen einer allgemeinen Sitzung und präsentiere außerdem „Troubleshooting Windows with the Sysinternals Tools“, beides am 24. Mai (ich bin stolz darauf, dass Microsoft Network [MSN] mich eingeladen hat, als Hauptredner eine eintägige Sitzung zur Windows-Problembehandlung auf seiner jährlichen MSN Engineering Excellence Conference in dieser Woche in Seattle zu halten).
Lesen Sie die Zusammenfassungen, und besuchen Sie die Website der Konferenz unter
http://www.sysinternals.com/ntw2k/info/talk.shtml
MICROSOFT IT-FORUM
Kopenhagen, Dänemark
Ich halte im Vorfeld der Konferenz eine eintägige Tutorialsitzung mit Dave Solomon zum Thema Interna der Windows-Sicherheit sowie mehrere eigene Breakoutsitzungen ab, die noch terminiert werden müssen. Die Zusammenfassung des Tutorials im Vorfeld der Konferenz und Informationen zur Registrierung finden Sie hier: http://www.microsoft.com/europe/msitforum/
Vielen Dank, dass Sie den Sysinternals-Newsletter gelesen haben.
Veröffentlicht Freitag, 30. Juli 2004 16:39 Uhr von ottoh
[Newsletter-Archiv ^] [< Band 6, Nummer 1] [Band 7, Nummer 1 >]