调用CMemFile :: Detach()时崩溃

时间:2009-11-02 15:05:01

标签: file-io crash

我在调用CMemFile :: Detach()函数时观察到崩溃

调用堆栈的异常如下所示

kernel32!RaiseException + 53 e06d7363 00000001 00000003
msvcrt!_CxxThrowException + 36 0103bb7c 7f0f6eac 00d8bf68
mfc42u!AfxThrowFileException + 61 00000009 ffffffff 00000000
mfc42u!CMemFile :: Seek + 42 fffff159 00000001 00000194
mfc42u!CArchive :: Flush + 26 0103bbf0 7f02d05a 00d32388
mfc42u!CArchive ::关闭+ a

在反序列化对象后发生这种情况。

对象的可版本化架构似乎是正确的。

任何有关wat的想法都可能导致此问题

1 个答案:

答案 0 :(得分:0)

函数AfxThrowFileException有三个参数。第一个参数表示原因。在你的情况下,这是CFileException :: badSeek。如果在未通知CArchive对象的情况下更改CMemFile指针,则会发生这种情况。最好使用CArchive对象来更改文件指针。