I'm making a c++ library thats going to be P/Invoked from c#, so i am unable to breakpoint/debug the c++ side of things. So i decided to add logging so i can see if anything goes wrong and where it happens. I add a #define DebugMode 1
in order to determine if i am to log or not.
First of all i'm not very good at c++ but i know enough to get around. So my questions are:
Is there a better way than wrapping
#if DebugMode #endif
s around every Log call? I could simply do that inside the Log method and just return if logging isn't enabled but won't that mean then all those logging strings will be in the assembly?How can i emulate what printf does with its "..." operator enabling me to pass something like
Log("Variable x is {0}", x);
Is there any tricks such as getting the line number or stack trace information of some sort that i can use in the log?
Thanks!