Debugging (idle) callback function?

I have figured out, at least conceptually, how to “connect” OpenGL to the outside world.
Via glutIdleFunc(xxx);
It is somewhat working, but I am having a heck of a time verifying the validity of passed data.
To some degree I can track the process using “perror”.
Of course “cout” does not do in C code.
Using printf stops the process, perhaps I do not know WHERE the actual output went. Most of the time it kills the current OpenGL window…

Just about only success I am having luck with is to physically output text (glutBitmapCharacter ) to the OpenGL window. OK if I actually have an active , open, window.
I am NOT looking for assembly code debugging, nor source code debugging.
At this time I just need to physically verify the passed data BEFORE letting OpenGL work on it.

If you run a process from a desktop environment (rather than from a shell), it may not have stdin/stdout/stderr streams. So fopen() a log file and write to that.