26.2. Unterschiede in der Implementierung
Zurück | Kapitel 26. DTrace | Weiter

## 26.2. Unterschiede in der Implementierung

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.

Zurück | Nach oben | Weiter
Kapitel 26. DTrace | Zum Anfang | 26.3. Die DTrace Unterstützung aktivieren

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>.