Windows 8: выполнение анализа кучи в 32-битном приложении, работающем через WOW64

Начнем с того, что это не общий вопрос о том, как выполнять анализ кучи, так как я хорошо знаком с предыдущими версиями Windows.

Однако меня интересует, удалось ли кому-нибудь выполнить анализ кучи 32-разрядного приложения, работающего через слой WOW64, в 64-разрядной Windows 8, где ключевым словом является Windows 8?

Запуск Windows 7 и средств отладки для Windows Я просто применил теги стека и кучи пользователя с помощью gflags, а затем использовал версию WinDbg для x86, чтобы присоединиться к процессу, чтобы получить только 32-битный контекст (как обычно я не интересует сам слой WOW64). Информация о куче обнаруживается отлично.

В Windows 8, выполняя ту же процедуру, добавляя gflags и запуская мой процесс, использование памяти после запуска увеличивается с 40 до 140 МБ, что указывает на то, что gflags включился.

Однако, как бы я ни пытался, ни WinDbg, ни umdh не удается получить какую-либо кучу информации. Ни старый способ, использующий версию x86, ни способ, описанный в документации, при работе через WOW64, при запуске версии x64 и переключении.effmach в 32-битный контекст.

Кроме того, я попробовал это, используя версии Debugging Tools для Windows как для Windows 7, так и для Windows 8, поэтому те же самые инструменты, которые дают хорошие результаты в Windows 7, не ведут себя одинаково в Windows 8.

Мое текущее предположение состоит в том, что изменения в том, как Windows 8 управляет кучей (о чем я видел несколько статей о работе в Интернете), вероятно, не были полностью обновлены / отражены в средствах отладки для Windows. Я бы предположил (мои собственные сценарии использования включают только 32-битные процессы в контексте WOW64, поэтому я не знаю наверняка), что анализ кучи для приложений, когда между ними нет слоя WOW64, работает, как предполагалось, но что WOW64 в настоящее время является блокировщиком Вот.

Я хочу выяснить, делаю ли я что-то не так, или есть проблемы с текущими инструментами. В настоящее время я вернулся к запуску Windows 7 на виртуальной машине для анализа памяти.

Итак, кто-нибудь имел успех в анализе кучи приложения win32 под WOW64 в Windows 8, и если да, то как?

1 ответ

Вы пробовали EGGHUNTER инструмент? Существует также пробная версия Intel Parallel Studio XE 2013, в которой есть множество инструментов для работы. Она подключается к вашей IDE VS 2010 или 2012, а затем вы можете просто выполнить тестовое приложение. Общие функции

Intel® Parallel Studio XE включает программное обеспечение следующего поколения

средства разработки:  Компиляторы Intel® C, C++ и Fortran -

Ведущие в отрасли компиляторы  Intel® MKL и Intel® IPP - библиотеки производительности  Строительные блоки Intel® Threading и Intel® Cilk™ Plus - модели параллельного программирования  Intel® Advisor XE - Помощник по потокам  Intel® VTune™ Amplifier XE - Производительность и потоки Профилировщик  Intel® Inspector XE - Проверка памяти и потоков  Статический анализ - Обнаружение Трудно найти дефекты

Я думаю, это поможет вам. Спасибо

Другие вопросы по тегам