2009-11-02 23 views
0

我觀察崩潰而調用CMemFile ::分離()函數崩潰而調用CMemFile ::分離()

與調用堆棧中的例外是如下

KERNEL32!的RaiseException + 53 e06d7363 00000001 00000003
MSVCRT!_CxxThrowException + 36 0103bb7c 7f0f6eac 00d8bf68
mfc42u!AfxThrowFileException + 61 00000009 00000000 FFFFFFFF
mfc42u!CMemFile ::尋求+ 42 fffff159 00000001 00000194
mfc42u!CArchive的::沖洗+ 26 0103bbf0 7f02d05a 00d32388
mfc42u!CArchive :: Close + a

這是我反序列化一個對象後發生的。

該對象的可版本化模式似乎是正確的。

任何想法,以笏可能導致此問題

回答

0

功能AfxThrowFileException有三個參數。第一個參數表示原因。在你的情況下,這是CFileException :: badSeek。如果在不通知CArchive對象的情況下更改CMemFile指針,就會發生這種情況。最好使用CArchive對象來更改文件指針。