プログラム | |
仕事が超暇。
自作の、例のアレを作る時間の確保も余裕。
非常に進捗具合は良い感じです。
良い具合なんですけど、変なエラーが出ます。
プログラムをビルドして、デバッグ実行すると「ヒープが壊れてる」みたいな事をVisual C++ 2010 Express に言われちゃうです…。しかもNtdll.dllでブレイクしちゃうっていう。俺のプログラム内じゃないのかよっ。
事の経緯はこんな感じ。
メモリがらみのバグは訳が分からんとです…。
さしあたり、一度deleteした領域を、もう一回deleteしてるか、newしてないのにdeleteしてるか、どっちかだと思うんです。
あとはあれだ。
配列をぶっちぎってアクセスしてるか。
両方とも、めっちゃ確認した!
けど問題なさそうなんだよねー…。
ヒープエラーの原因を突き止めるツールで、うまいのないっすかね?
メモリリーク(解放もれ)だったら何とかなるのに!!
MSのMicrosoft Application Compatibility Toolkit 5.6とやらを入れて、これからいろいろ試してみます・・。
日頃勉強している、英語リーディングの成果を見せてやるっ(涙
うぐー、なんかこれは期待してるツールと違うぞ!?
わけわかrん
山あり谷ありが極端なのもやっかいですよね…
平たく丁度良ければいいんでしょうけど
まあそううまくはいかないものでしょうか…
どこで異常が発生するかわかりませんもんねー(苦笑)。
ただ、2010 が何か悪さをしているかどうか
かなり判断難しいものがあるなぁ……
.NET Framework になって改善したと謳っている
部分も、実際にはアンインストしても残っている
ものが結構あったりしますしね。
ただまあ、ここまで来たのだからメイン開発は
2010 に変えてしまうのも吉だろうけども。
非常に古典的な方法ですが、個人的には再現率が
高いエラーであれば、ソースを段々コメントで
消しながら再現するかどうかをチェック。
発生原因となる箇所を特定するのが一番ではないかと……
頑張れ〜〜〜。
極端だと死んだりクビになったりするので、
うまいことバランスがとれたらいいんでしょうねー・・。
>Ashさん
実際問題、マシンをリブートした直後にリビルド→実行でも
「ヒープが壊れてる云々」
って言われて、デバッガからのアタッチ中で死ぬので、
どうやらプログラムがおかしいわけではないようです・・・。
コメントを入れて問題箇所の二分探索はよくやりますw