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 - Проверка памяти и потоков Статический анализ - Обнаружение Трудно найти дефекты
Я думаю, это поможет вам. Спасибо