unittestはprintf()デバッグに含まれる?

わたしがprintf()デバッグをしない理由

この方とは扱っているジャンルがかなり違う気もしますが、自分の場合はどうだろうと考えてみると、基本的にデバッガも使ってないしprintf()も埋め込んでません。どうしているかというと、ユニットテストを書いてその結果からバグがあることを見付け、分からない情報があるとテストケースを増やしながらデバッグしている事が多いです。コンソールの表示を見ているという点ではprintf()デバッグに近いでしょうか?これだとそもそも正式版+ユニットテストなので、

わけのわからないデバッグ文を埋め込んだバージョンを管理する

ということにはなりません。(こういうやり方が本来ユニットテストの想定している方法なのかは知りませんが…)

それでもデバッグできないものはデバッガを使ったりprintf()を埋め込んだりと状況に応じて使い分けてます。特にsegmentation faultの時はデバッガ必須ですね。DMA転送など余程ハードよりの事をやっていない限り、異常終了時の関数呼び出しback traceがとれればなんとかなる気がします。なんとかなるかは扱っているソフトによると思うので、どんなものでも何とかなるわけではないですが、自分があつかっている範囲ではわりとなんとかなっています。