原因を調べて対策を実施した。
テストプログラムにブレークポイントを設定し、自動デストを実行すると、VisualStudioが強制終了する。
エラー箇所の表示や、エラーコードの表示も一切無く、終了する。
ブレークポイントを張るとVCが再起動するため、デバッグにならない!!
調べる時間が無かったので、テストスイートで発生した障害は、製品環境で実行し、デバッグを行ったが非常に不便だった。
原因調査
エラーコードも表示されないため、手がかりが一切無い。
仕方なく、Google先生に該当しそうなキーワードで検索を掛けてみたが、有益な情報は得られなかった。
調べる内に、「VisualStudio SP1」が公開されているのを見つけた。
一縷の望みを託し、SP1を適用することにした。
SP1適用結果
結果=変化無し。 orz
「何が悪いのかなぁ~」
と、悩むことしばし。
ソフト構造は、下記の通り。
「VCが強制終了する」ということは、単純に考えて、メモリ破壊やアドレス不整合など、使っているライブラリの整合性が合ってないのか、コンパイルオプションの設定が合ってないのではないかと想像。
コンパイルオプションの問題かなぁ~……と思い、設定を色々いぢったが、成果なし。
で、ふと気が付いた。
「CppUnit.lib のコンパイルオプションが合ってないのでは?」
CppUnitのコンパイルオイオプションを修正
CppUnitと、TestRunnerEEのコンパイルオプションを比較。いくつかクサそうなオプションが異なっていた。
CppUnit側のコンパイルオプションを修正し、TestRunnerEEと同じ値に設定し、リビルドした所、問題解決した!!
同じ問題に遭遇した時のために、CppUnitコンパイル環境を下記にアップロードした。
0 件のコメント:
コメントを投稿