如何调试 Windows 关机问题?

Jaa*_*ens 6 shutdown debug windows-10

我有 Windows 10 家庭版。自上次更新以来,计算机需要永远关闭。这是我尝试过的:

  1. 右键单击开始
  2. 选择Windows PowerShell(管理员)
  3. 在 UAC 提示上单击“是”
  4. 运行命令 shutdown /s /f /t 0

什么都没有发生,命令只是挂起并且不会让我回到提示。当我等待大约 15 分钟(!)时,计算机终于关闭了。在此期间,我可以正常使用计算机。

我想调查导致此问题的程序/服务。我已经检查了事件查看器 ( eventvwr.exe),但我不知道要查看哪个日志。我还检查了任务管理器,但它显示没有占用高 CPU、磁盘或内存使用率的进程。

我该如何调试这个问题?

编辑: 我已经通过拔掉我的外部 USB 存储卡读卡器解决了这个问题。显然,该设备阻止了计算机关闭。然而,这个问题仍然存在。我怎么能通过调试关闭过程而不是幸运的猜测来发现这个问题?

har*_*ymc 6

(注意:Windows 正在不断发展,详细信息可能因版本而异。)

控制关闭行为

在开始跟踪关闭之前,我指出大约 15 分钟的关闭等待时间是不正常的 - 通常最多应该是几分钟。我建议您检查一下注册表项下 HKEY_CURRENT_USER\Control Panel\Desktop 是否设置了以下项目:

  • WaitToKillAppTimeout:(默认 20 秒)
    打开的应用程序在关闭它们之前清理和保存数据的时间。
  • HungAppTimeout:(默认 5 秒)
    Windows 在考虑应用程序无响应之前等待的秒数。
  • AutoEndTasks:(默认值为 0)
    设置为1在关机时自动关闭程序而不征求您的许可。

有关详细信息,请参阅 控制 Windows 在关机时终止应用程序之前等待的时间

启用详细关闭消息

如果未启用详细日志记录,则在启动、关闭、登录或注销时仅显示正常状态消息,例如“正在应用您的个人设置...”或“正在应用计算机设置...”电脑。如果启用详细日志记录,您将收到其他信息,例如“RPCSS 正在启动”或“正在等待计算机组策略完成......”。

要启用详细状态消息:

  • 运行注册表
  • 定位到以下注册表项: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
  • 创建一个名为的 DWORD 值verbosestatus并将其设置为1

详细追踪关闭过程

下面描述的过程和工具也可用于跟踪启动。

安装工具

  • 下载 Windows 10 SDK 文件winsdksetup.exe
  • 运行它并选择仅安装“Windows Performance Tools”(不是完整安装)
  • 重启。

创建跟踪日志

查看跟踪日志

  • 运行 Windows 性能分析器 (wpa.exe )
  • 使用菜单“文件”>“打开”打开文件夹内的跟踪日志
    %ProgramFiles%\Microsoft Windows Performance Toolkit
  • 详细的跟踪可以在“分析”选项卡中找到。
  • 有关特定关闭信息,请使用菜单 “配置文件”>“应用”>“浏览目录”并选择“FullBoot.Shutdown.wpaprofile”。