TL; DR - Как инструмент Spy ++ действительно создает свой список процессов?
Этап
У нас есть настольное приложение MFC (работающее на Windows XP), котороезависает в том, что он больше не реагирует ни на какой пользовательский ввод.Однако перерисовывается при переключении на него через alt-tab.(Он получает WM_SETFOCUS
, WM_ACTIVATE
и т. Д. Он, по-видимому, не получает сообщений мыши или клавиатуры.)
Поскольку приложение зависло в некотором подвешенном состоянии, мы извлекли несколько дампов процесса, но онипока мало помогали.Введите:
Мы использовали Spy ++, чтобы найти информацию, которую я дал выше о сообщениях окна, которые это приложение кажется обрабатывает.Мы сделали это, открыв Windows View и выбрав окно нашего приложения и в свойствах сообщений выбрав Windows of same process
и Messages to View
: Select All
.
Однако мы сначала попытались просмотреть все сообщения этого процесса, открыв Просмотр процессов из Spy ++ и , наше приложение не отображается в этом списке процессов .Перекрестная проверка на другом ПК, на котором приложение работает нормально, этот процесс также обычно отображается в списке процессов Spy ++.
Может ли что-либо говорить о некорректно работающем приложении из-за того, что процесс не работаетотображается в представлении процессов Spy ++ , но главное окно приложения отображается в представлении Windows. Почему процесс с видимым главным окном не будет отображаться в представлении процессов Spy ++?
Процесс указан в диспетчере задач и в окне присоединения процесса Visual Studio 2005. Итакэти инструменты, очевидно, используют другой метод для перечисления процессов, чем Spy ++ ...?
Система, в которой приложение в настоящее время висит, - это система Windows XP SP2, и мы использовали служебную программу Spy ++, которая поставляется с Visual Studio 2005.
Поведение иногда повторяется, но только после нескольких дней работы приложения!