1/* 2 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de. 3 * Distributed under the terms of the MIT License. 4 */ 5#ifndef TRACING_H 6#define TRACING_H 7 8 9#include <stdio.h> 10 11#include "apps_debugger_config.h" 12 13 14#define WARNING(x...) fprintf(stderr, x) 15#define ERROR(x...) fprintf(stderr, x) 16 17 18#if APPS_DEBUGGER_TRACE_DWARF_DIE 19# define TRACE_DIE(x...) printf(x) 20# define TRACE_DIE_ONLY(x) x 21#else 22# define TRACE_DIE(x...) (void)0 23# define TRACE_DIE_ONLY(x) 24#endif 25 26#if APPS_DEBUGGER_TRACE_DWARF_LINE_INFO 27# define TRACE_LINES(x...) printf(x) 28# define TRACE_LINES_ONLY(x) x 29#else 30# define TRACE_LINES(x...) (void)0 31# define TRACE_LINES_ONLY(x) 32#endif 33 34#if APPS_DEBUGGER_TRACE_DWARF_LINE_INFO >= 2 35# define TRACE_LINES2(x...) printf(x) 36# define TRACE_LINES2_ONLY(x) x 37#else 38# define TRACE_LINES2(x...) (void)0 39# define TRACE_LINES2_ONLY(x) 40#endif 41 42#if APPS_DEBUGGER_TRACE_DWARF_EXPRESSIONS 43# define TRACE_EXPR(x...) printf(x) 44# define TRACE_EXPR_ONLY(x) x 45#else 46# define TRACE_EXPR(x...) (void)0 47# define TRACE_EXPR_ONLY(x) 48#endif 49 50#if APPS_DEBUGGER_TRACE_DWARF_PUBLIC_TYPES 51# define TRACE_PUBTYPES(x...) printf(x) 52# define TRACE_PUBTYPES_ONLY(x) x 53#else 54# define TRACE_PUBTYPES(x...) (void)0 55# define TRACE_PUBTYPES_ONLY(x) 56#endif 57 58#if APPS_DEBUGGER_TRACE_CFI 59# define TRACE_CFI(x...) printf(x) 60# define TRACE_CFI_ONLY(x) x 61#else 62# define TRACE_CFI(x...) (void)0 63# define TRACE_CFI_ONLY(x) 64#endif 65 66#if APPS_DEBUGGER_TRACE_STACK_FRAME_LOCALS 67# define TRACE_LOCALS(x...) printf(x) 68# define TRACE_LOCALS_ONLY(x) x 69#else 70# define TRACE_LOCALS(x...) (void)0 71# define TRACE_LOCALS_ONLY(x) 72#endif 73 74#if APPS_DEBUGGER_TRACE_IMAGES 75# define TRACE_IMAGES(x...) printf(x) 76# define TRACE_IMAGES_ONLY(x) x 77#else 78# define TRACE_IMAGES(x...) (void)0 79# define TRACE_IMAGES_ONLY(x) 80#endif 81 82#if APPS_DEBUGGER_TRACE_CODE 83# define TRACE_CODE(x...) printf(x) 84# define TRACE_CODE_ONLY(x) x 85#else 86# define TRACE_CODE(x...) (void)0 87# define TRACE_CODE_ONLY(x) 88#endif 89 90#if APPS_DEBUGGER_TRACE_JOBS 91# define TRACE_JOBS(x...) printf(x) 92# define TRACE_JOBS_ONLY(x) x 93#else 94# define TRACE_JOBS(x...) (void)0 95# define TRACE_JOBS_ONLY(x) 96#endif 97 98#if APPS_DEBUGGER_TRACE_DEBUG_EVENTS 99# define TRACE_EVENTS(x...) printf(x) 100# define TRACE_EVENTS_ONLY(x) x 101#else 102# define TRACE_EVENTS(x...) (void)0 103# define TRACE_EVENTS_ONLY(x) 104#endif 105 106#if APPS_DEBUGGER_TRACE_TEAM_CONTROL 107# define TRACE_CONTROL(x...) printf(x) 108# define TRACE_CONTROL_ONLY(x) x 109#else 110# define TRACE_CONTROL(x...) (void)0 111# define TRACE_CONTROL_ONLY(x) 112#endif 113 114#if APPS_DEBUGGER_TRACE_GUI 115# define TRACE_GUI(x...) printf(x) 116# define TRACE_GUI_ONLY(x) x 117#else 118# define TRACE_GUI(x...) (void)0 119# define TRACE_GUI_ONLY(x) 120#endif 121 122 123#endif // TRACING_H 124