読者です 読者をやめる 読者になる 読者になる

ヒープエラー?Ntdll.dllが死ぬでござるの巻き!

 仕事が超暇。
 自作の、例のアレを作る時間の確保も余裕。
 非常に進捗具合は良い感じです。
 良い具合なんですけど、変なエラーが出ます。

ヒープエラーが止まらない

 プログラムをビルドして、デバッグ実行すると「ヒープが壊れてる」みたいな事をVisual C++ 2010 Express に言われちゃうです…。しかもNtdll.dllでブレイクしちゃうっていう。俺のプログラム内じゃないのかよっ。


 事の経緯はこんな感じ。

  1. Visual C++ 2010 Express Editionが出た事を知る
  2. 勢い余ってインストール
  3. 2008と同居できるか不安になる
  4. 2010をアンインストール
  5. 以前作ったマップ自動生成機能を移植する
  6. 2008でビルドして実行
  7. ヒープエラーが出る
  8. デバッガがプログラムにアタッチ出来なくなる
  9. VSごと死亡→再起動
  10. 環境が壊れたと思い、2008を再インストール
  11. やっぱりダメ。同じ現象が起こる
  12. 2008をキレイサッパリ消して、2010をもう一回インストール
  13. 2010でビルドして実行するけど、やっぱダメ。
  14. こりゃープログラムがどこかおかしいのか?←ここ!

 メモリがらみのバグは訳が分からんとです…。

確認したこと

 さしあたり、一度deleteした領域を、もう一回deleteしてるか、newしてないのにdeleteしてるか、どっちかだと思うんです。
 あとはあれだ。
 配列をぶっちぎってアクセスしてるか。


 両方とも、めっちゃ確認した!
 けど問題なさそうなんだよねー…。

いいデバッグツールはないもんか

 ヒープエラーの原因を突き止めるツールで、うまいのないっすかね?
 メモリリーク(解放もれ)だったら何とかなるのに!!
 MSのMicrosoft Application Compatibility Toolkit 5.6とやらを入れて、これからいろいろ試してみます・・。
 日頃勉強している、英語リーディングの成果を見せてやるっ(涙

違うっぽい

 うぐー、なんかこれは期待してるツールと違うぞ!?
 わけわかrん