Compile time define for checking threadsafe flag of functions

I have some code which does

Function DoStuff()

    Multithread data[] = FuncTS()


threadsafe static Function FuncTS()

    // do stuff

As FuncTS is a bit difficult to understand I would like to add some debugging output for easy testing (testing would be done without Multithread/threadsafe keywords). Unfortunately that debugging output requires non-threadsafe functions.

Is there a way to have two code paths in the function? One for threadsafe and one for non-threadsafe?

Something like

threadsafe static Function FuncTS()


    // debug output



Another solution would be if threadsafe and non-threadsafe functions could be overloaded but I'm not sure that this would be a good thing.