« dequeを使うとき。 | トップページ | TortoiseCVSとWinCVS »

2004年9月10日 (金)

ごり押しデバッグ

ヘッダファイルにinline関数を書くとき、inline指定を書き忘れることがある。
このとき、BCBだとヘッダに初期化データがあるためプリコンパイルヘッダが作成できないというエラーが出る。
…それだけならいいんだけど、問題はエラーが発生する行が頓珍漢なファイルと行であることがある。
たいていvclのヘッダファイルでエラーとなるようだ。

追跡するのは非常にめんどくさい。

まずcppファイルの先頭から末尾までをコメントアウトする。
そしてcppファイル単体でコンパイル。
この時点ではエラーは出ないはず。(出たらプロジェクトオプションなど、コード以外の問題の可能性が高い)

次にヘッダファイルをインクルードしている行を1行コメントアウトされているところから抜き出してコンパイル。
これを1行ごとに繰り返す。
エラーが出たらそのヘッダファイルが原因の可能性が高い。
そのヘッダファイルをすべてコメントアウトした後、1行づつ有効にさせてコンパイルを繰り返す。

上記をひたすら繰り返せば原因となる行が特定できる。これはどこでエラーになっているのかわからないエラーを解明するのに使える。

|

« dequeを使うとき。 | トップページ | TortoiseCVSとWinCVS »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« dequeを使うとき。 | トップページ | TortoiseCVSとWinCVS »