Debug-header. More...
Debug-header.
If ENABLE_DEBUG is defined inside an implementation file, all calls to DEBUG will work the same as printf and output the given information to stdout. If ENABLE_DEBUG is not defined, all calls to DEBUG will be ignored.
Definition in file debug.h.
#include <stdio.h>
#include "sched.h"
#include "thread.h"
#include "cpu_conf.h"
#include "architecture.h"
Go to the source code of this file.
Macros | |
#define | DEBUG_EXTRA_STACKSIZE THREAD_EXTRA_STACKSIZE_PRINTF |
Extra stacksize needed when ENABLE_DEBUG==1. | |
#define | DEBUG_PRINT(...) |
Print debug information if the calling thread stack is large enough. | |
#define | DEBUG_BREAKPOINT(val) ARCHITECTURE_BREAKPOINT(val) |
Set a debug breakpoint. | |
Debugging defines | |
#define | ENABLE_DEBUG 0 |
This macro can be defined as 0 or other on a file-based level. | |
#define | DEBUG_FUNC "" |
Contains the function name if given compiler supports it. | |
#define | DEBUG(...) do { if (ENABLE_DEBUG) { DEBUG_PRINT(__VA_ARGS__); } } while (0) |
Print debug information to stdout. | |
#define | DEBUG_PUTS(str) do { if (ENABLE_DEBUG) { puts(str); } } while (0) |
Print debug information to stdout using puts(), so no stack size restrictions do apply. | |
#define DEBUG | ( | ... | ) | do { if (ENABLE_DEBUG) { DEBUG_PRINT(__VA_ARGS__); } } while (0) |
Print debug information to stdout.
#define DEBUG_BREAKPOINT | ( | val | ) | ARCHITECTURE_BREAKPOINT(val) |
Set a debug breakpoint.
When DEVELHELP
is enabled, this traps the CPU and allows to debug the program with e.g. gdb
. Without DEVELHELP
this turns into a no-op.
val | Breakpoint context for debugger, usually ignored. |
#define DEBUG_EXTRA_STACKSIZE THREAD_EXTRA_STACKSIZE_PRINTF |
#define DEBUG_FUNC "" |
#define DEBUG_PRINT | ( | ... | ) |
Print debug information if the calling thread stack is large enough.
Use this macro the same as printf
. When DEVELHELP
is defined inside an implementation file, all usages of DEBUG_PRINT will print the given information to stdout after verifying the stack is big enough. If DEVELHELP
is not set, this check is not performed. (CPU exception may occur)
#define DEBUG_PUTS | ( | str | ) | do { if (ENABLE_DEBUG) { puts(str); } } while (0) |