在发布模式下快照不正确,在调试模式下正常工作

时间:2012-07-09 10:54:07

标签: c++ windows file file-io snapshot

我有程序来拍摄磁盘中所有卷的快照。它将使用FSCTL_GET_VOLUME_BITMAP读取每个卷中的数据。它将数据写入另一个文件。

一切正常,但是当我按照指示改变代码时它不会:

如果卷包含操作系统,那么我会将一些驱动程序文件复制到system32 / drivers中,因此在读取数据之前已经发生了写入。

我读了仅在写完成后使用FSCTL_GET_VOLUME_BITMAP获得的Volumebitmap。但它仅返回新复制文件的值。已存在的所有其他数据均为0。

当我尝试在调试模式下调试代码时,它会完美地获取旧数据+新数据。 但是当我尝试在发布模式下运行时,它会提供更改后的值,即仅新复制的文件。

在调试和发布模式下会出现什么问题?

我尝试设置属性C / C ++优化,整个程序优化 - >是的,那么它提供了错误的价值。但如果我将其设置为“否”,那么它会提供正确的结果。

因此在发布模式期间会出现问题。

0 个答案:

没有答案
相关问题