Immer größere Datenmassen sicher zu speichern ist eine Herausforderung für jede IT-Infrastruktur. Schon mit Gigabit-Ethernet lassen sich aber ... (mehr)

Gutes Timing

Eine andere Gruppe von Optionen, die zur Ausgabe von Zeitstempeln dient, ist hilfreich, wenn ein Programm hängt oder sehr langsam ist. Damit lassen sich problematische Stellen lokalisieren. Die Schalter »-t« , »-tt« und »-ttt« geben jeweils zu Beginn jeder Zeile die absolute Zeit in Sekunden respektive Mikrosekunden aus. Die Option »-T« zeigt daraufhin, wie lange jeder einzelne Systemaufruf gedauert hat, »-r« gibt einen relativen Zeitstempel aus.

Mit »-c« aufgerufen gibt Strace am Ende eine Statistik aus, die die Anzahl der Aufrufe, aufgetretene Fehler und die Dauer der Systemaufrufe dokumentiert. Das ist ganz praktisch, wenn der Admin einen Fehler sucht, aber nicht recht weiß, wo er anfangen soll.

Um die Ausgabe noch etwas zu verkürzen, bietet Strace zusätzlich die Möglichkeit an, mit »-e« nach bestimmten Systemaufrufen zu filtern. Dann protokolliert »strace -e trace=open,read,write« nur die Syscalls »open()« , »read()« und »write()« . So können Sie sich zum Beispiel nur jene Aufruf anzeigen lassen, die in der Ausgabe von »-c« verdächtig erscheinen. Umgekehrt zeigt »-v« alles etwas ausführlicher.

Skript-Wrapper als Notnagel

Da es nicht immer möglich ist, ein Programm unter Produktionsbedingungen zu testen, hilft es manchmal, einen Shell-Wrapper zu verwenden, um es mit Strace debuggen zu können. Benennen Sie das Programm zum Beispiel in »Befehl.alt« um. Das Skript in Listing 8 speichern Sie dann unter dem Namen »Befehl« .

Listing 8

Shell-Wrapper

01 #!/bin/sh
02 strace -o /tmp/Befehl_out.$$ /usr/bin/Befehl.alt $*

Damit wird das ursprüngliche Kommando unter Strace-Kontrolle ausgeführt, wobei jedes Mal ein neues Logfile entsteht. Vergessen Sie aber nicht, nach dem Debuggen dem Programm seinen ursprünglichen Namen zurückzugeben.

Praktisch ist auch der Strace-Schalter »-p Prozess-ID« . Mit ihm können Sie schon laufende Programme debuggen. Wenn Sie beispielsweise in der Prozessliste einen Prozess sehen, der viel Rechenzeit verbraucht, können Sie so nachsehen, was er gerade macht.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

OpenSSL

Als Protokoll ist SSL/TLS täglich im Einsatz. Mozilla und Google haben kürzlich erklärt, dass mehr als 50 Prozent der HTTP-Verbindungen verschlüsselt aufgebaut werden. Googles Chrome soll ab 2017 sogar vor unverschlüsselten Verbindungen warnen, wenn Sie dort sensible Daten eingeben können. In unserem Security-Tipp werfen wir einen Blick hinter die Kulissen von OpenSSL und zeigen dessen vielfältige Möglichkeiten auf. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Linux-Distro

Welche Linux-Distribution setzen Sie vorwiegend auf dem Server ein?

  • Arch Linux
  • CentOS
  • Debian
  • Fedora
  • openSUSE
  • Oracle Linux
  • Red Hat Enterprise Linux
  • SUSE Linux Enterprise Server
  • Ubuntu
  • andere Linux-Distribution
  • FreeBSD
  • OpenBSD

Google+

Ausgabe /2017

Microsite