如何在python中获取太大的原始文件

时间:2019-02-19 12:05:28

标签: python out-of-memory snapshot pydbg

我正在尝试为我的C ++程序制作快照。 我的程序使用大量的IO操作,运行约两个小时后失败。我正在寻找快照功能,因为复制它需要太长时间才能进行调试。

我发现“ pydbg” 模块支持快照功能,因此我尝试使用它。

我已经使用pydbg实现了一个简单的python代码。使用此代码,它将运行exe文件并随时保存和加载快照。 当我将它与一个简单的程序一起使用时,它可以很好地工作。 但是,如果我使用我的程序,则会发生MemoryError。

在pydbg中,它通过ReadProcessMemory API读取进程内存并保存原始数据。


read__buf = create_string_buffer(length)
    while length:
    if not kernel32.ReadProcessMemory(self.h_process, address, read_buf, length, byref(count)):
        raise pdx("ReadProcessMemory(%08x, %d, read=%d)" % (address, length, count.value), True)

data += read_buf.raw

此时,发生 MemoryError

我认为原始数据太大,无法读取或保存。 可以拆分并保存该数据吗?

0 个答案:

没有答案