DTrace implementation in FreeBSD
While the DTrace in FreeBSD is very similar to that found in Solaris™, differences exist that should be explained before continuing. The primary difference users will notice is that on FreeBSD, DTrace needs to be specifically enabled. There are kernel options and modules which must be enabled for DTrace to work properly. These will be explained later. There is a DDB_CTF kernel option which is used to enable support for loading the CTF data from kernel modules and the kernel itself. CTF is the Solaris Compact C Type Format which encapsulates a reduced form of debugging information similar to DWARF and the venerable stabs. This CTF data is added to the binaries by the ctfconvert and ctfmerge build tools. The ctfconvert utility parses DWARF debug ELF sections created by the compiler and ctfmerge merges CTF ELF sections from objects into either executables or shared libraries. More on how to enable this for the kernel and FreeBSD build is forthcoming. http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/dtrace-implementation.html