找回密码
 立即注册

qi年

VIP会员

  • 55

    积分

  • 1

    帖子

  • 0

    精华

比特官方QQ群

交流一群:418980616

交流二群:634255247

交流三群:833519964

交流四群:480250429

  交流五群:1030336556

加   入
【BUG反馈】WindowTool.exe 在托盘右键「刷新」时频繁崩溃(异常代码 0xc0000005 / 0xc000041d)

======== 一、环境 ========
BitDock 版本:V2.2.0.0502 | Release(官网最新版)
系统:Windows 10 家庭中文版 22H2,Build 19045.7725
硬件:联想拯救者 Y9000P 2021(i7-11800H / RTX 3070 Laptop + Intel UHD 混合输出)
显示:单屏 2560x1600 @150% 缩放
Dock 模式:极简模式

======== 二、现象 ========
在 Dock 的托盘区域右键 → 点击「刷新」后,WindowTool.exe 偶发崩溃。
- 复现率约 3 次点击出现 1 次(时好时坏,像是竞态条件)
- 崩溃后 BitDock 会自动把它拉起来,因此常常成对崩溃

======== 三、用户可感知的后果 ========
每次崩溃都会触发 Windows 错误报告程序 WerFault.exe 抓取内存转储:
1. WerFault.exe 自身占用 CPU 约 300~600 ms
2. 若同时启用 BitShell(WindowsBitShell.exe),它会在崩溃后持续空转约 6 秒,
   单核占用高达 1109~1250 ms/秒(超过一个物理核心的 100%)
3. 用户端表现:鼠标变成"慢动作"、整个系统卡顿数秒

实测一小时内共记录崩溃 7 次。

======== 四、崩溃详情(事件查看器 → Windows 日志 → 应用程序)========

错误应用程序名称: WindowTool.exe,版本: 2.2.0.502,时间戳: 0x69f750ec
错误模块名称:     Qt5Core.dll,版本: 5.15.2.0,时间戳: 0x5fa4dd3b
异常代码:         0xc000041d
错误偏移量:       0x0000000000001196
错误应用程序路径: D:\Program Files\BitDock\WindowTool.exe
错误模块路径:     D:\Program Files\BitDock\Qt5Core.dll

同一时间段的另一条记录:
异常代码:   0xc0000005(访问冲突)
错误偏移量: 0x0000000000001196(与上一条完全相同)

======== 五、分析线索 ========
- 0xc000041d = STATUS_FATAL_USER_CALLBACK_EXCEPTION,
  即在 Windows 回调(窗口过程 / 钩子 / 事件处理器)中抛出了未捕获异常
- 0xc0000005 = 访问冲突(读写无效内存)
- 两条记录的错误偏移量完全相同(0x1196),都落在 Qt5Core.dll 中同一处代码路径
- 推测:WindowTool.exe 在响应 shell 刷新 / 托盘图标重枚举的回调里,
  访问了已经失效的对象(可能是窗口句柄或托盘图标数组)

======== 六、复现步骤 ========
1. 启用 Dock(极简或辅助模式均可)
2. 在 Dock 的托盘区域右键
3. 点击「刷新」
4. 观察:偶发鼠标卡顿数秒;事件查看器出现上述崩溃记录

======== 七、诉求 ========
1. 修复 WindowTool.exe 在刷新回调中的崩溃(偏移量 0x1196 是关键线索)
2. 建议:WindowsBitShell.exe 在检测到组件异常时,不要长时间空转占用 CPU
   —— 哪怕前一条一时难修,这一条至少能让卡顿从 6 秒降到 1 秒以内
3. 若需要,我可以提供该机器的 Report.wer 报告与转储文件
   (C:\ProgramData\Microsoft\Windows\WER\ReportArchive\)


分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册