デバッグビルドが止まる、リビルドの生成物がおかしい – プログラミング – Home

デバッグビルドが止まる、リビルドの生成...
 
通知
すべてクリア

デバッグビルドが止まる、リビルドの生成物がおかしい


pon
 pon
(@pon)
ゲスト
結合: 18年前
投稿: 21
Topic starter  

■環境
OS:Windows7
VS2005 VC++ MFCのソースコード

■状況
お聞きしたい内容は2つあります。

①かなり前から(らしい)のですが、Debugのリビルドをすると、ビルドがだんだん遅く
なりそのうち、修正してもいないソースでエラーとなって停止。停止後、再度ビルドをす
ると途中からビルドが始まり、問題なく最後まで進んでビルド完了する。
なお、Releaseのリビルドであれば、最後までビルドは進むため問題なし。

②リリースのリビルドでできた生成物を動作させると、とある場所でヒープ破壊メモリエ
ラーが発生。コード調査するも、原因不明。ところが、エラーが発生したコードだけを再
ビルドするとエラーが出てこなくなりました。リビルドが何かおかしくなったのでしょう
か。なお再現性があります。

①も②も、ビルド中に何かPCが他の作業をしていたということはなく、またPCスペッ
クも十分にあります。
どなたかご存知であれば、ご教授ください。


引用解決済
トピックタグ
仲澤@失業者
(@uncle_kei)
Prominent Member
結合: 5年前
投稿: 828
 

あまり確定的な事は言えません。あしからず。

①のVisual Studioが挙動不審となる現象は昔からあります。

(1)PCスペック不足。OSが64bitの方が動作が良好で、
  かつメモリーが8GByte以上必要ですね(32bitOSだと意味ないですけど)。

(2)VSが古すぎるかもしれません(一応VS2005はWin7は対応OSには入ってます)。
VS2013、VS2015が最も安定したバージョン、VS2017はバグが多くて自分も様子見。
(参考) https://www.microsoft.com/ja-jp/dev/support/tools.aspx
  Community版なら条件付きですがタダで使用できます。

②については、

(3)フルコンパイル(ソリューションの「リビルド」)してもだめなら、コードにバグがあ
ります。

(4)複数プロジェクトを持つソリューションの場合、
 「オプション」の「プロジェクト及びソリューション」の「ビルド/実行」の
 「並行にビルドするプロジェクトの最大数(X)」を「1」にしてみる。

(5)当たり前ですが(デフォルトがそうでなかったかもしれないので)、
 プロジェクトのプロパティで、「警告レベル」は「Level3(/W3)」にすること。
 この設定で、警告数が0でなければなりません。
 警告が出るようならその内のいくつかはバグの可能性があります。


返信引用
pon
 pon
(@pon)
ゲスト
結合: 18年前
投稿: 21
Topic starter  

仲澤様

ご返信ありがとうございます。

VSのバージョンを変えたいところではありますが、
外部購入のライブラリがVS2005でしか対応してないようでして、
変えることができません。

②については、やはりコードのバグでしょうかね。。
slnファイルは1つだけで、「警告レベル」は「Level3(/W3)」でした。
バッファオーバーランの原因は、なかなか見つにくいです。
コードが大規模というところもありますが、、

お手数おかけしました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました