ADMIN-Tipp: Dtruss - Strace-Ersatz für OS X

Jede Woche erscheint in unserem Newsletter ein neuer ADMIN-Tipp. Eine Sammlung aller Tipps finden Sie im Archiv der ADMIN-Tipps.

Unter Linux ist das Strace-Kommando bei der Fehlersuche oft das Tool der Wahl. Leider fehlt es beim BSD-basierten Mac OS X. Ein Dtrace-basiertes Skript bietet einen Ausweg. 

Startet ein Programm einfach nicht und gibt dabei auch keinen Hinweis auf den Grund, hilft oft das Linux-Tool "strace" weiter, das die verwendeten Systemaufrufe protokolliert. Bei dem BSD-basierten Mac OS X fehlt das kleine Programm aber. Eine Alternative ist das Skript "/usr/bin/dtruss", das bei der Namensgebung an das alte "truss" von Solaris erinnert, aber mit dem "d" auf das darunterliegende Dtrace-Framework verweist, das OS X ebenfalls von Solaris importiert hat. Der Aufruf gestaltet sich einfach:

dtruss ls

Damit verfolgt "dtruss" die Systemaufrufe beim Start des "ls"-Kommandos. Per Prozess-ID lässt sich ein Programm so tracen:

dtruss -p 2517

Schließlich kann "dtruss" mit der Aufrufoption sogar den Namen des aufgerufenen Prozesses heranziehen.

dtruss -n tar

Wie "strace" verwendet auch "dtruss", den Schalter "-f", um Kindprozesse ("fork") zu verfolgen. Weil es sich um ein Shell-Skript handelt, kann "dtruss" auch als Beispiel fürs Schreiben von eigenen Dtrace-Skripts unter OS X, (Open) Solaris und FreeBSD dienen. 

01.08.2012
BSD

Ä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