Serializeにデバッグエラー発生
Serialize中で以下のデバッグエラーが発生します。
Heap entry 015F88F0 has incorrect PreviousSize field (0000 instead of 0004)
履歴でおっていくと、
//自前コード↓
CString S;
S.Format(%d,%d\n,a,b);
ar << S;
S.Format(%d,%d,%d\n,a,b,c);
ar << S;
} //関数の終了場所でブレーク
そののち、
ATL::CSimpleStringT<char>::~CSimpleStringT<char>() にいきますが、この際のthisは
最初のデータ内容です。
リリース版ではエラーは発生しませんが、不安です。
解決策もしくはヒントなどをご教授願えたら幸いです。
Windows XP Vidual C++.Net 使用です。
Vidual C++.Netって Visual C++ .NET 2003かな? 2002?
開発環境の名前に.NETがついたのはその二つくらいですよね。
書いてある内容だけみてるとCStringのハグ?とも思えますけれど、
実際どうなんでしょうねぇ。
ヒープのエントリ情報がおかしいってのがどうにも。
回答ありがとうございます。
開発環境は.Net 2002です。
同じデータファイルでも発生する場合としない場合があり、
原因追求ができず困っています。
お気づきの点がありましたらどのようなことでも結構ですので
よろしくお願いいたします。
実は私自身は、.NET 2002は使用した事が有りません。
VC++6.0の次は.NET 2003を少し使用し、その後はVS2005に移行してしまいました。
.NET 2002は、コンパイラ周りとか色々不具合が多いと言う話でしたので
採用を見送っています。
.NET 2002をお使いの方で何か御存知の方がいらっしゃるようでしたらお願いします。
ちなみにですが、最初に書かれていたシリアライズのコードは公開している以外に
大量にコードがあるんでしょうか?それとも最低限の上記のコードだけでも起こる?
テストプログラムを作成して同じ状況が発生する最小コードを探る必要があるように
感じます。