Skip to content
Bill Fenner edited this page Aug 30, 2018 · 1 revision

If you want to add Debugging output statements to your own code, you can use the following conventions:

DEBUGMSGTL

Note the double (( ))s in these statements!

DEBUGMSGTL(("token", "statement of some kind: %s\n", "with printf arguments"));

This actually outputs two lines:

  • A "trace" line showing where in the source it came from (that's what the T stands for)
  • Your debugging line (when -Dtoken is turned on)

This should be the most common debugging statement used. It should be used for complete debugging lines.

DEBUGMSG

For creating lines a piece at a time, start with DEBUGMSGTL followed by DEBUGMSG macros until you hit the newline ("\n"). This is a stupid example but shows how it works:

 int total = 0;  DEBUGMSGTL(("token", "Calculating running total: "));  for(int i = 0; i < 5; i++) {     total = total + i;     DEBUGMSG(("token", " %d", total));  }  DEBUGMSG(("token", "\n"));

DEBUGMSGOID

For printing OIDs you can use the DEBUGOID macro:

 oid my_oid[] = { 1, 3, 6, 1}  size_t my_oid_len = 4;    DEBUGMSGTL(("token", "this is my oid: "));  DEBUGMSGOID(("token", my_oid, my_oid_len));  DEBUGMSG(("token", "\n"));

Clone this wiki locally