Как получить слишком большой необработанный файл в Python - PullRequest
0 голосов
/ 19 февраля 2019

Я пытаюсь сделать снимок для моей программы на С ++.Моя программа использует много операций ввода-вывода, и она провалилась примерно через два часа.Я ищу функцию снимка, потому что для ее отладки требуется слишком много времени.

Я обнаружил, что "pydbg" модуль поддерживает функцию снимка, поэтому я попытался использовать ее.

Я реализовал простой код на Python, используя pydbg.С помощью этого кода он запускает исполняемый файл и сохраняет и загружает снимок в любое время.Когда я использую это с простой программой, это работает хорошо.Но если я использую свою программу, то произойдет MemoryError.

В pydbg она считывает память процесса через API ReadProcessMemory и сохраняет необработанные данные.


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)</p>

   data += read_buf.raw

В этот момент происходит MemoryError .

Я думаю, что необработанные данные слишком велики для чтения или сохранения.Можно ли разделить и сохранить эти данные?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...