求助!!!实在是找不到问题了,请大佬帮忙看下
程序在最后结束的地方会释放内存。在直接运行exe的时候,会出现程序崩溃(如果是运行文件对齐和内存对齐一致的文件,没有任何问题;运行文件对齐和内存对齐不一致的会有问题)。
但是加断点单步执行没有任何问题。。哭了...实在是找不到问题了 释放错误建议看看有没有内存越界或者吧内存地址覆盖的情况。
我这里测试,读取某些文件会在FileBufferToImageBuffer的*(imageBuffer + VirtualAddress + j) = *(fileBuffer + PointerToRawData + j);报内存读取出错,此时j值大于文件的大小 苏紫方璇 发表于 2021-2-21 14:32
释放错误建议看看有没有内存越界或者吧内存地址覆盖的情况。
我这里测试,读取某些文件会在FileBufferToIm ...
因为是在内存拉伸的情况,所以可能会存在比文件大的情况,我主要是困惑为什么单步执行就没有问题,直接运行就会出现问题。 本帖最后由 古月不傲 于 2021-2-21 17:17 编辑
FSNSN 发表于 2021-2-21 16:50
因为是在内存拉伸的情况,所以可能会存在比文件大的情况,我主要是困惑为什么单步执行就没有问题,直接运 ...
你申请的imagebuffer的内存大小还是原有的文件大小,直接拷贝内存会导致内存越界,拷贝是没问题,运行到某一处,如果要用到这处内存,就会发生core dump。 古月不傲 发表于 2021-2-21 17:15
你申请的imagebuffer的内存大小还是原有的文件大小,直接拷贝内存会导致内存越界,拷贝是没问题,运行到 ...
C:\11.png
这里并没有直接拷贝,而是又进行了一次压缩,从image中到newbuffer,应该不是这里的问题
页:
[1]