Spy ++如何构造其进程列表? [英] How does Spy++ construct its process list?

查看:97
本文介绍了Spy ++如何构造其进程列表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

TL; DR -Spy ++工具如何真正构建其进程列表?

TL;DR - How does the Spy++ tool really construct its process list?

我们有一个MFC桌面应用程序(在Windows XP上运行)挂起,因为它不再对任何用户输入做出反应.但是,通过alt-tab切换到 时会重新绘制. (它确实收到WM_SETFOCUSWM_ACTIVATE等.它显然没有收到任何鼠标或键盘消息.)

We have an MFC desktop application (running on Windows XP) that is hanging in that it doesn't react to any user input anymore. It is redrawn when switching to it via alt-tab however. (It does receive WM_SETFOCUS, WM_ACTIVATE, etc. It apparently does not receive any mouse or keyboard messages.)

由于该应用程序处于死角,我们取消了一些流程转储,但是到目前为止这些都没有什么帮助.输入:

Since the app is hanging in some limbo, we pulled a few process dumps, but these were of little help so far. Enter:

我们使用Spy ++查找了我上面提供的有关此应用程序正在处理的窗口消息的信息.我们通过打开 Windows视图 ,然后选择我们的应用程序窗口,并在消息属性中选择Windows of same processMessages to View:Select All.

We used Spy++ to find the information I gave above about the window messages this application seems to be processing. We did this by Opening the Windows View and selecting our application Window and in the Messages properties selected Windows of same process and Messages to View : Select All.

但是我们首先尝试通过打开进程视图 来自Spy ++,我们的应用程序不是显示在此流程列表中.在运行该应用程序的另一台PC上进行交叉检查后,该过程通常也显示在Spy ++的进程列表中.

However we first tried to view all messages of this process by opening the Processes View of Spy++ and our application is not shown in this process list. Cross checking on another PC where the app is running normally, the process is also normally shown in the processes list of Spy++.

是否可以从Spy ++的进程视图"中未显示该进程的事实中推断出行为不当的应用程序,但是该应用程序的主窗口显示在Windows视图中. 为什么在Spy ++的进程视图"中不会显示带有可见主窗口的进程?

Can anything about the misbehaving app be inferred from the fact that the process is not shown in Spy++'s Process View, but the main window of the app is shown in the Windows View. Why would a process with a main window that is visible not be shown in Spy++'s Processes View?

该进程在任务管理器和Visual Studio 2005的附加进程"窗口中列出.因此,这些工具显然使用不同于Spy ++的方法列出进程... ...

The process is listed in Task Manager and in the Attach Process Window of Visual Studio 2005. So these tools apparently use a different method to list processes than Spy++ ... ?

该应用当前挂起的系统是Windows XP SP2系统,我们已经使用了Visual Studio 2005附带的Spy ++实用工具.

The system where the app is currently hanging is a Windows XP SP2 system and we've used the Spy++ Utility that comes with Visual Studio 2005.

该行为偶尔会再次发生,但仅在应用程序运行了几天后才会发生!

推荐答案

运行Vista或更高版本?您的进程可能被提升,而Spy ++却没有.较新版本的Spy ++需要提升.因此,尝试显式提升Spy ++,看看是否有帮助.

Running Vista or later? Your process is probably elevated and Spy++ is not. Newer versions of Spy++ require elevation. So, try elevating Spy++ explicitly and see if that helps.

这篇关于Spy ++如何构造其进程列表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆