trace

Traces the result of an expression to the directed buffer.

void trace(expr)

The trace function is the most fundamental DTrace function. This function takes a D expression as its argument and then traces the result to the directed buffer.

If the trace function is used on a buffer, the output format depends on the data type. If the data is 1, 2, 4, or 8 bytes in size, the result is formatted as a decimal integer value. If the data is any other size, and is a sequence of printable characters if interpreted as a sequence of bytes, it's printed as an ASCII string and ends with a null character (0). If the data is any other size, and isn't a sequence of printable characters, it's printed as a series of byte values that's formatted as hexadecimal integers.

You can force the trace function to always use the binary format by specifying the rawbytes dynamic runtime option.

Example 7-58 How to use trace to display a variety of different outputs

The example shows the trace function being used to return output for a built-in variable, an expression, and a string value.

BEGIN
{
trace(execname);
trace(timestamp / 1000);
trace("somehow managed to get here");
}