Debug
This examples shows how use the debug macros for printing different kinds of debugging information
- Boards:
- AVR, AVR USB, Nano Every, Nano 33 IoT, Nano 33 BLE, UNO R4, Pi Pico, Due, Teensy 3.x, ESP8266, ESP32
Behavior
- Enable debugging by defining the DEBUG_OUT macro in
src/AH/Settings/Settings.hpp
or enable debugging globally as explained here
- Upload the sketch to the Arduino, and open the Serial Monitor (
CTRL+Shift+M
)
- Every five seconds, debugging information is printed, for example:
This is the result of `
DEBUG`
[/home/pieter/GitHub/Arduino-Debugging/Example/Example.ino:12]: This is the result of `
DEBUGREF`
[
void loop() @ line 13]: This is the result of `
DEBUGFN`
[0:2:11.085]: This is the result of `
DEBUGTIME`
a = 1, b = 2, c = 3
log10(1000) - 2 = 1.00
millis() = 131085
Serial.read() = -1
[int someFunction(int) @ line 26]: parameter = 42
- See also
- md_pages_Debug for instructions on how to add an option in the Arduino IDE to easily enable and disable debugging globally without editing the settings file.
Written by PieterP, 2018-07-31
https://github.com/tttapa/Arduino-Helpers
void setup() {
Serial.begin(115200);
while (!Serial)
;
}
void loop() {
DEBUG(
"This is the result of `DEBUG`");
DEBUGREF(
"This is the result of `DEBUGREF`");
DEBUGFN(
"This is the result of `DEBUGFN`");
DEBUGTIME(
"This is the result of `DEBUGTIME`");
int a = 1, b = 2, c = 3;
(void)a, (void)b, (void)c;
someFunction(42);
delay(5000);
}
int someFunction(int parameter) {
return parameter;
}
Dummy header file for Arduino builder.
#define NAMEDVALUE(x)
Macro for printing an expression as a string, followed by its value.