WhatIsHang

WhatIsHang是一款获取有关已停止响应/冻结(起)的Windows软件工具,有时Windows或正在运行的应用程序起,用户界面突然停止响应,并且您无法确定导致问题的原因或如何解决问题;该实用程序尝试检测当前起的软件或进程,并显示一些,这些可能使您可以梳理并了解导致此类意外行为的根源;WhatIsHang的报告中显示的大多数,例如调用堆栈,堆栈数据,处理器寄存器和内存数据,都是为具有Windows编程知识的用户设计;WhatIsHang还提供与起问题相关的字符串和dll文件的列表,这些列表和dll文件可以帮助没有编程技能的用户理解和克服问题的原因并恢复正常作!

WhatIsHang软件功能

添加了以管理员身份运行选项,使您可以在Windows Vista/ 7/8/2008上以管理员身份轻松运行WhatIsHang。

添加了自动获取报告选项。

开启后,WhatIsHang会在检测到冻结程序大约2秒后自动生成报告,而无需选择它并按F9。

添加了“始终在最前面”选项。

添加了x构建,用于获取有关冻结位应用程序的报告。

已将所有已加载模块的列表添加到报告中。

当WhatIsHang无法从流程中提取时

它现在在报告中显示有关该的消息,而不是显示报告中充满零数字的

添加了隐藏时启动选项,当此选项和在托盘上放置图标选项打开时,WhatIsHang的主窗口在启动时将不可见。

添加了在托盘上放置图标选项。

当程序由于等待另一个系统对象(WaitForSingleObject API调用)而起时

WhatIsHang现在在备注部分显示系统对象的类型及其句柄。

在报告中添加了线程ID。

添加了“所有线程”实验报告(Ctrl + F9),该报告显示有关所有正在运行的线程的报告

而标准报告则仅显示停止响应的线程的报告。请注意,“所有线程”报告可能会很大。

WhatIsHang软件特色

在堆栈中找到 的字符串: WhatIsHang从hang程序进行的调用中收集字符串

并将其显示在此部分中。这些字符串可能会为您提供有关起程序错误的线索。

在堆栈中找到的模块: 此部分显示在hang程序进行的调用中找到的DLL文件列表。

对于Windows资源管理器的起问题,它可能特别有用,因为如果问题是由3方软件引起的

则可能会在列表中找到有问题的软件的DLL。

执行地址(对于程序员):检测到起问题的执行内存地址。

调用堆栈(对于程序员):显示在堆栈中找到的调用,就像每个调试器软件一样。

堆栈数据(对于程序员):显示在堆栈中找到的值,地址和字符串点。

处理器寄存器(对于程序员):显示基本处理器寄存器的当前值(EAX,EBX,ECX等)

内存数据: WhatIsHang收集在起的程序的调用中找到的所有有效内存指针的内存内容。

本节以十六进制转储格式显示WhatIsHang找到的所有内存数据,它可能会为您提供更多有关导致起的线索。

所有线程: 此部分仅显示在hang程序中找到的所有线程的列表。

WhatIsHang使用教程

使用WhatIsHang

当您运行WhatIsHang时,主窗口的上部窗格显示其用户界面停止响应的所有正在运行的应用程序的列表。

如果WhatIsHang无法检测到任何起的应用程序,则上窗格将为空,直到检测到任何起的软件。

当检测到起的应用程序并且您想要获取有关该问题的时,请在上方窗格中选择所需的项目,按F9。

WhatIsHang将起的应用程序,并将所有显示在下部窗格中,作为简单的文本报告。

了解WhatIsHang报告

首先,您应该意识到有两种类型的起问题:

该程序在单个系统/内核/ API调用中。

这意味着该程序请求从作系统执行某些作(例如打开或读取文件)

但作系统功能不会返回,从而导致程序起。

由于存在无限循环,很长的循环或递归调用,程序起。

当WhatIsHang检测到第一个起问题时,报告将仅包含一个系统调用快照。

当WhatIsHang检测到第二个起问题时,报告将包含3个随机执行点的3个快照。

以下是有关WhatIsHang报告每个部分的:

备注: 此部分显示一般提示,这些提示可能会给您第一印象,可能是悬问题的问题所在。

第一个备注始终指定检测到的起问题的类型-是单个系统调用问题还是无限循环/超长循环问题。

根据起问题的调用堆栈,可能会显示其他备注。

例如,如果检测到远程计算机上的文件名,WhatIsHang将显示一条警告,指出此网络访问可能会导致问题。

如果您不了解报告…

如果您不是程序员或Windows专家,则可能无法理解或分析WhatIsHang的报告。

在这种情况下,您可以尝试…

将WhatIsHang的报告发送到起的软件的支持。他们的程序员/支持团队可能能够找出问题所在。

使用此联系页面将报告发送到NirSoft网站,并简要说明问题。

发送此报告将帮助我在将来的版本中改进WhatIsHang,并使它对没有编程/ Windows知识的用户更加友好。

为了将报告发送给NirSoft或其他人,请按F8键将整个报告复制到剪贴板

使用Ctrl + V将其粘贴到电子邮件中。

所有线程报告

从1.05版开始,有一个新的实验报告,该报告显示有关所有正在运行的线程的

而不是仅显示已停止响应的主用户界面线程。

当起问题涉及多个线程时(例如,当主用户界面线程等待另一个线程完成时)

这种类型的报告可能会很有用。

您可以通过按Ctrl + F9来获得此报告。请注意,该报告在多线程应用程序上可能非常大。

系统要求和限制

从Windows 2000到Windows 10,此实用程序均可在任何版本的Windows上使用。同时支持32位和位系统。

为了检测32位应用程序的起问题,即使您的作系统是位,也必须使用32位版本的WhatIsHang。

为了检测位应用程序的起问题,必须使用位版本的WhatIsHang。

在启用了UAC的Windows 7/8/2008 / Vista上:如果WhatIsHang正在以SYSTEM或Administrator特权运行

则无法检测到起的应用程序。

为了解决此问题,您必须右键单击WhatIsHang.exe,选择“以管理员身份运行”。

WhatIsHang无确检测到某些起问题,例如:

没有任何用户界面的程序。

当程序起是因为一个线程在等待另一个线程。

在这种情况下,WhatIsHang将显示等待线程的详细,但问题可能出在另一个线程中

但是…从版本1.05开始,您可以使用实验的“所有线程”报告来显示有关所有线程的。运行线程。

整个系统起时-在这种情况下,WhatIsHang将无法运行…

上一篇 2022-11-28

相关推荐

  • WhatIsHang

    WhatIsHang是一款获取有关已停止响应/冻结(起)的Windows软件工具,有时Windows或正在运行的应用程序起,用户界面突然停止响应,并且您无法确定导致问题的原因或...
正在提交中,请稍等片刻...

发表回复

请登录后评论...
登录后才能评论

评论列表 (0条)