【问题标题】:crash while calling CMemFile::Detach()调用 CMemFile::Detach() 时崩溃
【发布时间】:2009-11-02 15:05:01
【问题描述】:

我在调用 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::Close+a

这发生在我反序列化一个对象之后。

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

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

【问题讨论】:

    标签: file-io crash


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-03
      • 2019-02-22
      • 2016-02-11
      • 2018-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多