Obwohl DTrace in FreeBSD sehr ähnlich zu dem in Solaris™ ist, existieren doch Unterschiede, die vorher erklärt werden müssen. Der Hauptunterschied für die Anwender besteht darin, dass in FreeBSD DTrace explizit aktiviert werden muss. Es existieren Kerneloptionen und Module, die aktiviert sein müssen, damit DTrace korrekt arbeitet. Diese werden später genauer erlätert.
Die Kerneloption DDB_CTF
wird dafür
verwendet, um die Unterstützung im Kernel für das Laden von
CTF-Daten aus Kernelmodulen und dem Kernel selbst zu
ermöglichen. CTF ist das Compact C Type Format
von Solaris™, welches eine reduzierte Form von Debug-Informationen
kapselt, ähnlich zu DWARF und den antiken Stabs.
Diese CTF-Daten werden dem Binärcode von den
ctfconvert
und ctfmerge
Befehlen
den Werkzeugen zum Bauen des Systems hinzugefügt. Das
ctfconvert
-Dienstprogramm parst die vom Compiler
erstellten DWARF ELF
Debug-Abschnitte und ctfmerge
vereint
CTF ELF-Abschnitte aus Objekten,
entweder in ausführbare Dateien oder Shared-Libraries. In
Kürze erfahren Sie, wie Sie dies für den Kernel und den Bau von
FreeBSD aktivieren.
Einige Provider in FreeBSD unterscheiden sich von der
Solaris™-Implementierung. Am deutlichsten wird das beim
dtmalloc
-Provider, welcher das Aufzeichnen von
malloc()
nach Typen im FreeBSD-Kernel
ermöglicht.
In FreeBSD darf DTrace wegen unterschiedlicher Sicherheitskonzepte
nur von root
verwendet werden. Solaris™
besitzt ein paar Audit-Funktionen auf den unteren Ebenen, die noch nicht
in FreeBSD implementiert sind. Deshalb kann nur root
auf /dev/dtrace/dtrace
zugreifen.
Zum Schluss muss noch erwähnt werden, dass die DTrace-Software
unter Sun™s CDDL Lizenz fällt. Die
Common Development and Distribution License
wird von
FreeBSD mitgeliefert, sehen Sie sich dazu
/usr/src/cddl/contrib/opensolaris/OPENSOLARIS.LICENSE
an, oder lesen Sie die Online-Version unter http://www.opensolaris.org/os/licensing.
Diese Lizenz bedeutet, dass ein FreeBSD-Kernel mit den DTrace-Optionen immer noch BSD-lizenziert ist; allerdings tritt die CDDL in Kraft, wenn Module in Binärform vertrieben werden oder die Binärdateien geladen werden.
Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an
<de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an
<de-bsd-translators@de.FreeBSD.org>.