int main(int argc, char **argv) { int num; char *name = argv[0]; if (argc < 3) usage(name); if (!strcmp(argv[1], "start")) { if (argc < 4) usage(name); num = atoi(argv[3]); if (num <= 0) usage(name); btrace_start(argv[2], num); } else if (!strcmp(argv[1], "stop")) { if (argc < 4) usage(name); btrace_stop(argv[2], argv[3]); } else if (!strcmp(argv[1], "reset")) { btrace_reset(argv[2]); } else if (!strcmp(argv[1], "dump")) { btrace_dump(argv[2]); } else usage(name); return EXIT_SUCCESS; }
void blah::foobar(int x, const char *y, double z) { VOGL_NOTE_UNUSED(x); VOGL_NOTE_UNUSED(y); VOGL_NOTE_UNUSED(z); btrace_dump(); const char *calling_module = btrace_get_calling_module(); const char *current_module = btrace_get_current_module(); printf("\nbtrace_get_calling_module returns: %s\n", calling_module ? calling_module : "??"); printf("\nbtrace_get_current_module returns: %s\n", current_module ? current_module : "??"); }
void kp_obj_show(ktap_state *ks, const ktap_value *v) { switch (ttype(v)) { case KTAP_TYPE_NIL: kp_puts(ks, "nil"); break; case KTAP_TYPE_NUMBER: kp_printf(ks, "%ld", nvalue(v)); break; case KTAP_TYPE_BOOLEAN: kp_puts(ks, (bvalue(v) == 1) ? "true" : "false"); break; case KTAP_TYPE_LIGHTUSERDATA: kp_printf(ks, "0x%lx", (unsigned long)pvalue(v)); break; case KTAP_TYPE_CFUNCTION: kp_printf(ks, "0x%lx", (unsigned long)fvalue(v)); break; case KTAP_TYPE_SHRSTR: case KTAP_TYPE_LNGSTR: kp_puts(ks, svalue(v)); break; case KTAP_TYPE_TABLE: kp_tab_dump(ks, hvalue(v)); break; #ifdef CONFIG_KTAP_FFI case KTAP_TYPE_CDATA: kp_cdata_dump(ks, cdvalue(v)); break; #endif case KTAP_TYPE_EVENT: kp_transport_event_write(ks, evalue(v)); break; case KTAP_TYPE_BTRACE: btrace_dump(ks, btvalue(v)); break; case KTAP_TYPE_PTABLE: kp_ptab_dump(ks, phvalue(v)); break; case KTAP_TYPE_STATDATA: kp_statdata_dump(ks, sdvalue(v)); break; default: kp_error(ks, "print unknown value type: %d\n", ttype(v)); break; } }