Nachdem Sie Ihre Prüfpunkte nun in einer .d-Datei definiert haben, müssen Sie den Quellcode um die Angabe der Positionen erweitern, die Ihre Prüfpunkte auslösen sollen. Betrachten wir als Beispiel den folgenden C-Anwendungsquellcode:
void main_look(void) { ... query = wait_for_new_query(); process_query(query) ... }
Zum Angeben der Prüfpunktstelle fügen Sie einen Verweis auf die in <sys/sdt.h> definierte Makro DTRACE_PROBE() hinzu:
#include <sys/sdt.h> ... void main_look(void) { ... query = wait_for_new_query(); DTRACE_PROBE2(myserv, query__receive, query->clientname, query->msg); process_query(query) ... }
Der Zusatz 2 im Makronamen DTRACE_PROBE2 bezieht sich auf die Anzahl der dem Prüfpunkt übergebenen Argumente. Die ersten beiden Argumente der Prüfpunktmakro bestehen in dem Providernamen und dem Prüfpunktnamen, die mit den D-Definitionen des Providers und des Prüfpunkts übereinstimmen müssen. Die übrigen Makro-Argumente werden den DTrace-Variablen arg0..9 zugewiesen, wenn der Prüfpunkt ausgelöst wird. Der Quellcode Ihrer Anwendung darf mehrere Verweise·auf den gleichen Provider- und Prüfpunktnamen enthalten. Sind im Quellcode mehrere Verweise auf denselben Prüfpunkt vorhanden, wird der Prüfpunkt durch jede Makroreferenz ausgelöst.