В .NET я бы использовал System.Diagnostics.Trace ...
Что бы я использовал в C или C ++?
сейчас у меня определен макрос:
диагностика ВКЛ .:
#define DIAG(A) { printf(A); }
отладка выключена:
#define DIAG(A) { if(FALSE) {}}
Есть ли стандартный способ?
Это зависит от вашей среды. В Windows я бы просто использовал OutputDebugString . Есть более сложных и настраиваемых способа , но мне он сам никогда не был нужен.
Не уверен, что есть стандарт * nix. Сравнительно немного раз я писал код * nix C, я использую DEBUG envvar и printf.
DEBUG
printf