AP終了時のFree Heap Block・・ メッセージ!?

[戻る]
クルルンファ [E-Mail] 2002/12/31(火) 15:13:17
いつもお世話になります。

Win2'K Visual Studio 6.0にて
作成したソフト(ダイアログベース:DEBUG版:デバイスハンドラ装置をスレッド15本
を操って並行動作させるAP)を終了する際に以下のメッセージが表示されます。


HEAP[AVIMmain.exe]: HEAP: Free Heap block a86888 modified at a869e4
after it was freed
プログラム 'C:\AVI\VC\AVIMmain\Debug\AVIMmain.exe' はコード 0 (0x0) で終了しました。

Heap上に作成のクラスインスタンスのdelete忘れが原因かなと思って調べてみたの
ですがそういう個所が見当たりません。
動作的には、問題ないのですが終了時にメッセージが出るということは、Memory Leak
同様、何かまづい事をしているからだと思うのですがわかりません。

ご経験のある方がおられましたらフォローして頂ければ幸いです。

YuO [E-Mail] 2002/12/31(火) 15:28:45
> HEAP[AVIMmain.exe]: HEAP: Free Heap block a86888 modified at a869e4
> after it was freed

これは解放済みのヒープに書き込んだ形跡がある,というCRTの警告です。
#メモリリーク以上にたちが悪いかも……。

マルチスレッドということなので,他のスレッドがまだ使うのに解放していたりしていないかチェックしてみてください。

クルルンファ [E-Mail] 2002/12/31(火) 19:19:20
|マルチスレッドということなので,他のスレッドがまだ使うのに解放していたりしていないか
|チェックしてみてください。

YuOさん、早速のレスありがとうございます!!

別の角度から見ていたので全然気づきませんでした。確かにスレッドの開放順を余り
考慮していませんでした。
的確なレスのおかげで、思い当たる個所があり問題解決できると思います!!

正月明け出荷の為、休み返上で悪戦苦闘してます。集中できる仕事ができるだけでもありがたい
と思って前向きに挑戦してます。

どうぞ,来年も宜しくお願い致します。いいお年をお迎え下さい!!

古いスレッドには追加発言できません。