Я использовал диспетчер задач (Windows 7, 64-разрядная версия) для сброса памяти процессов Chrome.
К сожалению, попытка вывести 32-разрядный процесс с помощью (64-разрядного) диспетчера задач приведет к созданию бессмысленных дампов памяти.
Если бы я использовал диспетчер задач (64-разрядный) для создания дампа 32-разрядного процесса, есть ли способ преобразовать уже готовый дамп памяти, чтобы он был должным образом проанализирован?
Кроме того, если у вас есть полный дамп памяти, может ли человек заново создавать процессы и программы, работающие до возникновения сбоя?
Редактировать: Кажется, что многие люди смущены моим намерением:
Я уже создал дамп памяти 32-разрядных процессов Chrome с помощью диспетчера задач Windows (64-разрядная версия ) . Затем я пришел, чтобы прочитать статьи, в которых говорится, что это создаст поврежденную версию дампа памяти.
Что меня интересует, может ли дамп когда-либо читаться правильно с этими дампами?
А также второй вопрос.
Что я имею в виду испорченный?
По одной из предоставленных ссылок:
Если вы захватите дамп с помощью инструмента, который захватывает 64-битные дампы, вы все равно получите дамп памяти, но вы получите дамп памяти syswow64, что означает, что многие расширения, такие как sos и psscor2, не смогут читать данные. Некоторые вещи могут все еще работать, но это очень ограничено, и вы можете получить ошибки или ошибочные стеки вызовов и т. Д.
Ответы:
Вам необходимо использовать Process Explorer 15.3 (или более позднюю версию) из sysinternals, который знает архитектуру и создает надлежащие дампы.
http://blogs.technet.com/b/sysinternals/archive/2013/02/04/updates-pendmoves-v1-2-process-explorer-v15-3-sigcheck-v1-91-zoomit-v4-42. ASPX
источник
Нет способа конвертировать один вид дампа памяти в другой.
И для всех, кому интересно, вы должны вручную запустить 32-битный диспетчер задач:
если вы хотите создать дамп 32-битного процесса
источник
Просто откройте дамп, созданный в windbg (x86 или x64), а затем выполните команду: ".effmach x86"
Это покажет вам контекст X86, сохраненный в файле дампа. Из них все команды будут работать в контексте x86.
Созданный TaskManager мини-дамп всегда 64 бит. Помните, что все ваши процессы Windows, работающие на 64-битной Windows, являются 64-битными процессами. Просто, когда ваш код 32-битный, он запускается на WindownOnWindows, который перенаправляет все вызовы между процессом (32 бита) и ОС (64 бита).
источник