3

Я использовал диспетчер задач (Windows 7, 64-разрядная версия) для сброса памяти процессов Chrome.

К сожалению, попытка выгрузить 32-разрядный процесс с помощью (64-разрядного) диспетчера задач приведет к созданию бессмысленных дампов памяти.

Если бы я использовал диспетчер задач (64-разрядный) для создания дампа 32-разрядного процесса, есть ли способ преобразовать готовый дамп памяти, чтобы он был должным образом проанализирован?

Кроме того, если у вас есть полный дамп памяти, может ли человек заново создавать процессы и программы, работающие до возникновения сбоя?

Редактировать: Кажется, что многие люди смущены моим намерением:

Я уже создал дамп памяти 32-битных процессов Chrome с помощью диспетчера задач Windows (64-битная версия ). Затем я пришел прочитать статьи, в которых говорится, что это создаст поврежденную версию дампа памяти.

Мне интересно, может ли дамп когда-либо читаться правильно с этими дампами?

А также второй вопрос.

Что я имею в виду испорченный?

По одной из предоставленных ссылок:

Если вы захватите дамп с помощью инструмента, который захватывает 64-битные дампы, вы все равно получите дамп памяти, но вы получите дамп памяти syswow64, что означает, что многие расширения, такие как sos и psscor2, не смогут читать данные. Некоторые вещи могут все еще работать, но это очень ограничено, и вы можете получить ошибки или ошибочные стеки вызовов и т.д.

Смотрите также

3 ответа3

3

Вам необходимо использовать Process Explorer 15.3 (или более позднюю версию) из sysinternals, который знает архитектуру и создает надлежащие дампы.

Process Explorer v15.3: этот основной выпуск Process Explorer включает отображение тепловой карты для процессора, частных байтов, рабочего набора и столбцов графического процессора, сортируемых групп безопасности на странице безопасности свойств процесса и всплывающую подсказку о задачах, выполняемых в процессах Windows 8 Taskhostex. , Он также создает файлы дампа, которые соответствуют разрядности целевого процесса, и устраняет ошибку, появившуюся в отчете о счетчиках дисков в Windows 8.

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

1

Нет способа конвертировать один вид дампа памяти в другой.

И для всех, кому интересно, вы должны вручную запустить 32-битный диспетчер задач:

C:\Windows\SysWOW64\ Taskmgr.exe

если вы хотите создать дамп 32-битного процесса

-1

Просто откройте дамп, созданный в windbg (x86 или x64), а затем выполните команду:".effmach x86"

Это покажет вам контекст X86, сохраненный в файле дампа. Из них все команды будут работать в контексте x86.

Созданный TaskManager мини-дамп всегда 64 бит. Помните, что все ваши процессы Windows, работающие на 64-битной Windows, являются 64-битными процессами. Просто, когда ваш код 32-битный, он запускается на WindownOnWindows, который перенаправляет все вызовы между процессом (32 бита) и ОС (64 бита).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .