Tips #017 書式付デバッガ出力
不具合原因を調査するのにデバッガ出力はかかせない。
ウィンドウズには OutputDebugString() という便利な関数があるが、
変数の内容を見たいのに文字列しか受け付けないのはいただけない。
いちいち文字列変数を用意してたらめんどくさくて本末転倒なので書式付デバッガ出力を用意した。
int DebugPrintf( LPCTSTR format, ... ) { va_list args; int len; char * buf; va_start( args, format ); len = _vscprintf( format, args ) + 1; buf = ( char * ) malloc( len * sizeof ( char ) ); len = vsprintf( buf, format, args ); OutputDebugString( buf ); free( buf ); return len; }
以上です。