デバッグするときはデバッガを使うのが定石ですが、なんらかの事由によりそれがかなわないときもあるでしょう。そのとき頼りになるのが片っ端から printf 文をいれていく方法、いわゆるプリントデバッグです。 CPUのレジスタなどはわかりませんが、単にどこまでプログラムが実行されたか知りたいだけ、とかならこれでもなんとかなります。2分探索で切り分けていけば、仮に100万行のコードでも高々20回の試行ですみます。 今回はこのデバッグプリントのTipsをご紹介します。 デバッグビルドとリリースビルドとで有効無効を切り替える printf デバッグするときには、リリース時にはそのデバッグプリント文は削除する必要があります。手作業でそれをやっていては削除漏れが起きてしまう可能性大です。そこで、プリプロセッサの条件コンパイルをつかってそれを自動化しましょう。 例としては下記のようになります。この例では、マ
![printf デバッグ(デバッグプリント)の書き方](https://cdn-ak-scissors.b.st-hatena.com/image/square/600590c7931324843ba74b07f2ea7f871140686e/height=288;version=1;width=512/https%3A%2F%2Fhangstuck.com%2Fwp-content%2Fuploads%2F2020%2F06%2F1200px-C_Programming_Language.svg_.png)