Debugga funktioner enkelt (tips)
Postat: 8 april 2018, 10:51:19
Jag vill gärna kunde debugga funktioner jag skriver men ibland ska man kolla något annat innan.
Oftast har jag tillgång till en seriell port där jag kan dumpa text osv. men i grunden är det likgiltigt för detta tips.
Man brukar ju ha många/en del väldefinierade och avgränsade funktioner, just för att få överskådlighet. Ibland vill jag ha utskrifter från interna uträkningar, ofta typ vilken rutin, ingångsvärde, mellanräkningsvärde och utgångsvärde. Med en seriell port är detta ju ganska enkelt.
Men det händer att jag är ganska nöjd med en rutin för tillfället och letar fel ett annat ställe och då stänger av debug-utskriften i en rutin.
Så jag brukar göra såhär:
Vid att undef'a DEBUG_THIS efter varje rutin kan jag slå på och av varje rutins debug-funktion för sig utan att få en generell debug-utskrift på alla rutiner. Självklart kan man kombinera med en generell funktion också om man vill - eller bara ha en generell utskriftrutin om man vill.
Oftast har jag tillgång till en seriell port där jag kan dumpa text osv. men i grunden är det likgiltigt för detta tips.
Man brukar ju ha många/en del väldefinierade och avgränsade funktioner, just för att få överskådlighet. Ibland vill jag ha utskrifter från interna uträkningar, ofta typ vilken rutin, ingångsvärde, mellanräkningsvärde och utgångsvärde. Med en seriell port är detta ju ganska enkelt.
Men det händer att jag är ganska nöjd med en rutin för tillfället och letar fel ett annat ställe och då stänger av debug-utskriften i en rutin.
Så jag brukar göra såhär:
Kod: Markera allt
#define DEBUG_THIS true
void Function_Something(int Value)
{
...
#if DEBUG_THIS
... // Printout debug data
#endif // DEBUG_THIS
...
}
#undef DEBUG_THIS
#define DEBUG_THIS false
void Function_Something_Else(int Value)
{
...
#if DEBUG_THIS
... // Printout debug data
#endif // DEBUG_THIS
...
}
#undef DEBUG_THIS