Apple liefert nur eingeschränktes DTrace

Apples Version von DTrace kooperiert nicht mit allen Programmen: Die Systemaufrufe von iTunes etwa lassen sich mit dem Werkzeug nicht protokollieren.

In Pocket speichern vorlesen Druckansicht 249 Kommentare lesen
Lesezeit: 1 Min.
Von
  • Christian Kirsch

Mit dem von Apple auf Mac OS X portierten DTrace lassen sich nicht alle Programme überwachen. Das berichtet Adam Leventhal, einer der Entwickler des Werkzeugs. Er stellt fest, dass die Systemaufrufe von iTunes von DTrace zwar registriert, nicht jedoch protokolliert werden.

Verantwortlich dafür ist eine von Apple in den DTrace-Code eingefügte Compiler-Direktive. Sie verhindert das Überwachen von Prozessen, deren P_LNOATTACH-Flag gesetzt ist. Dieser Schalter blockiert ebenfalls das Andocken des freien GNU-Debuggers gdb an einen laufenden Prozess. In der dem Blog-Eintrag folgenden Diskussion werden jedoch auch Zweifel an Apples Strategie laut. So meint ein Teilnehmer, es sei durchaus möglich, mit DTrace selbst das Setzen von P_LNOATTACH durch den iTunes-Prozess zu verhindern.

Seit Leopard enthält Mac OS X das Programm DTrace (Dynamic Tracing), mit dem sich Programme zur Laufzeit detailliert protokollieren lassen, ähnlich wie mit dem unter Linux verwendeten strace. Sun hatte das Werkzeug für sein Betriebssystem Solaris entwickelt und es als erste Komponente von OpenSolaris Anfang 2005 unter eine Open-Source-Lizenz gestellt. (ck)