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

Server-Management mit Debops

Programme wie Ansible und Puppet werden immer häufiger zum Management der Konfiguration von Linux-Servern verwendet. Das Debops-Projekt sammelt Ansible-Rezepte für eine ganze Reihe von Anwendungen. Dieser Artikel verrät, wie Sie Debops für Debian- und Ubuntu-Rechner einsetzen. (mehr)

Puppet-Training

Erfahren Sie in unserem eintägigen Training alles über das Servermanagement mit Puppet. Im Training geht es um den Aufbau einer Puppet-Umgebung, den Einsatz von Versionsverwaltung, Puppet-Module und Datenseparierung mit Hiera. Mehr Details zu unserem Puppet-Training finden Sie hier.
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Container

Welche Art von Containern haben Sie im praktischen Einsatz?

  • LXC
  • LXD
  • Docker
  • Rocket
  • (Noch) keine
  • Container sind überbewertet

Google+

Ausgabe /2016

Microsite