tracemem() Function

The tracemem() action stores an array of bytes intended to be treated as raw values. The number of bytes in this buffer is given by the dtrd_size member of the dtrace_recdesc_t structure.

dtrd_action == DTRACEACT_TRACEMEM

The tracemem() action takes an optional third argument, the number of bytes to display. If a third argument is specified, the dtrd_arg member of the dtrace_recdesc_t structure contains the DTRACE_TRACEMEM_DYNAMIC value. In this case, the subsequent data record is also a DTRACEACT_TRACEMEM record. The dtrd_arg value for this subsequent record is either DTRACE_TRACEMEM_SIZE or DTRACE_TRACEMEM_SSIZE, and the value contained in the data for this subsequent record is the number of bytes displayed.

if (rec->dtrd_arg == DTRACE_TRACEMEM_STATIC)
	process rec->dtrd_size bytes of data
else if (rec->dtrd_arg == DTRACE_TRACEMEM_DYNAMIC)
	nrec = next record
	if nrec->dtrd_arg == DTRACE_TRACEMEM_SIZE
		extract display size from nrec's data as unsigned value
	else if nrec->dtrd_arg == DTRACE_TRACEMEM_SSIZE
		extract display size from nrec's data as signed value
	process data based on values of rec->dtrd_size and display size