В некоторых случаях вы можете отслеживать приложения Магазина Windows 8 без установки Visual Studio 2012 . К счастью, вы можете сделать это довольно легко, используя ProcDump и ProcessMonitor. Вот пошаговое руководство о том, как это сделать или, если хотите, посмотрите это видео, которое вдохновило меня на написание этого поста.
Шаг 1:
Как описано его автором: « ProcDump — это утилита командной строки, основной целью которой является мониторинг приложения для скачков ЦП и создание аварийных дампов во время скачка, которые администратор или разработчик может использовать для определения причины скачка. ProcDump также включает мониторинг зависших окон (используя то же определение зависания окон, что и в Windows и диспетчере задач), мониторинг необработанных исключений и может создавать дампы на основе значений счетчиков производительности системы. Он также может служить общей утилитой дампа процесса, которую вы можете встроить в другие скрипты ».
Как описано его автором: « Process Monitor — это расширенный инструмент мониторинга для Windows, который показывает файловую систему в реальном времени, реестр и активность процессов / потоков. Он сочетает в себе функции двух устаревших утилит Sysinternals, Filemon и Regmon , и добавляет обширный список улучшений, включая расширенную и неразрушающую фильтрацию, всесторонние свойства событий, такие как идентификаторы сеансов и имена пользователей, надежную информацию о процессе, полные потоки с интегрированной поддержкой символов для каждой операции одновременное ведение журнала в файл и многое другое. Его уникально мощные функции сделают Process Monitor основной утилитой для устранения неполадок в вашей системе и поиска вредоносных программ ».
Шаг 2:
Откройте реестр и перейдите в следующую папку: HKEY_CURRENT_USER \ Software \ Classes \ ActivatableClasses \ Package. Оказавшись там, перейдите к приложению, которое вы хотите отслеживать. В этом случае мы будем следить за встроенным приложением камеры.
Нажмите «Папка приложения», затем «Сервер» и дважды щелкните AppUserModelID, как показано ниже.
Скопируйте и вставьте строковое значение, выделенное ниже.
Шаг 3:
Перейдите туда, куда вы извлекли инструменты procdump и procmon, и выполните следующую команду (замените часть камеры на любое значение, которое имеет ваш App.UserModelID)
procdump -e 1 -f "" -x c:\procdump Microsoft.Camera_8wekyb3d8bbwe!Microsoft.Camera
Примечание. Вы можете легко увидеть, что делает каждый коммутатор, просто вызвав procdump из командной строки. В этом случае мы используем следующее:
-e Создать дамп, когда процесс встречает необработанное исключение.
Включите 1, чтобы создать дамп для исключений первого шанса.
-f Фильтровать исключения первого шанса. Подстановочные знаки (*) поддерживаются.
Чтобы просто отображать имена без дампа, используйте пустой («») фильтр.
-x Запустить указанное изображение с необязательными аргументами.
Если это современное приложение или пакет, ProcDump запустится
при следующей активации (только).
Запустится приложение Windows Store. Вернитесь в режим рабочего стола и посмотрите в командной строке, как показано ниже.
Когда RegEdit все еще открыт, нажмите F5, чтобы обновить экран и заметить новую папку с именем «DebugInformation» с ключом «DebugPath»:
Вы также увидите дополнительное окно, которое предоставляет информацию о текущем файле, который он отслеживает, и включает любые обнаруженные исключения:
Как уже говорилось, вы можете нажать Ctrl-C, чтобы выйти из режима мониторинга приложения, не прерывая процесс. Вы также можете отслеживать созданный файл DMP.
Шаг 4 — Дополнительная информация:
Во время работы приложения вы можете открыть файл procmon.exe и выполнить фильтрацию по имени процесса или, что еще лучше, по идентификатору процесса, чтобы отслеживать свойства события.
Вы можете дважды щелкнуть любое событие и увидеть событие, процесс и стек.
Заворачивать
Я всегда был поклонником Sysinternal и очень счастлив, что procdump прекрасно работает с приложениями для Магазина Windows 8. Если у вас есть какие-либо вопросы, не стесняйтесь оставлять их ниже, в противном случае увидимся в следующем посте!