私も今回はPrintf文相当のものを使いました。でもPrintf文を入れるだけで動作が変わってしまうこともあるので辛いですよね。
わたしもマルチスレッド設計するときに一番最初に実装する部分がDebuglog部分ですね Delphiの場合には、表に表示できる処理はメインスレッドだけですのでなかなか面倒です。
Print文デバッグのように強引にデバッグしてます。