排障· 13 轮 · 约 3 分钟

刚想美化,任务栏就崩了

崩溃转储GitHub issue隐私
一句话结论弹窗说「等待超时」,其实是任务栏美化工具注入的组件先让资源管理器崩了。报告发给了开发者;崩溃转储因为个人信息太多,最后决定不发。

实测 推测 查不了 更正dij 的话照录原文;Claude 的回复是节选,有删减;虚线框是 10-15 回看时补的批注。

01弹窗说的不是原因

dij

我刚想美话一下我的Windows,安装这个打开出现这个错误...

附了一张 TranslucentTB 的报错截图

实测推测查不了
Claude

不是你装错了,也不是和别的美化软件冲突,而是 TranslucentTB 2026.2 本身的问题。它注入任务栏用的组件 ExplorerTAP.dll 在这台机器上会让 explorer 直接崩溃。弹窗里的「等待超时」只是后果:explorer 已经崩了,它等不到回应,才报了超时。

  1. TranslucentTB 启动
  2. explorer 崩溃,出错模块 ExplorerTAP.dll,异常码 0xc0000409,偏移 0x29f1d
  3. 系统自动重启 explorer
  4. TranslucentTB 弹出报错
  • 10-05 用便携版试的那次,崩在了完全相同的位置,所以和安装方式无关。
  • 两次崩溃转储的失败代码都是 7(FAST_FAIL_FATAL_APP_EXIT),崩溃线程的调用栈里没有第三方 DLL。
  • 已排除:explorer 里没有加载其他任务栏工具;2026.2 已经是最新版。
  • 为什么偏偏是这台机器:GitHub 上有人报过同一个系统版本出问题,但开发者自己用着正常——具体差在哪,没有调试符号查不到。

⚠️ 它已经把开机自启打开了,不处理的话以后每次开机 explorer 都会崩一次。

dij

卸载吧!可以撰写,你还提到一个美化,我们将重心移向它

实测
Claude

卸载干净了:软件包、进程、开机自启项、数据目录都没了。卸载前后 explorer 的 PID 都是同一个,说明这次没再崩。英文报告草稿也写好了,转储先没附——里面有 explorer 的内存。

02把报告发给开发者

dij

报告你代我去发就行

更正
Claude

发之前我先把报告核对了一遍,发现三处写得不够严谨,先改掉再发:

  1. 调用栈那段是我手动删减过的,还说「两份转储完全一样」。实际上有一份多了两条疑似残留值 → 改成贴原样输出,并如实说明差异。
  2. 便携版的来源我并不知道,不能写成「GitHub 便携版」。
  3. 「弹出报错」的时间是推测出来的,措辞改得保守一些。

改好后发出去了:TranslucentTB/TranslucentTB#1369,回读确认正文完整。

开发者在 issue 里回复,希望通过邮件私下拿到崩溃转储

03转储里有什么

实测查不了
Claude

压缩包里是两个「小型转储」:崩溃信息、线程调用栈、加载的 DLL、系统信息,再加上一部分内存,不是整个进程。按特征扫了一遍,能认出身份的有:

  • Windows 用户名,以及带着姓氏的电脑名
  • 一个邮箱地址(两个文件里分别出现 4 次和 2 次)
  • 用户目录下的文件夹名、D 盘装了哪些游戏和软件

这次只按这几类特征扫了,不能保证把所有个人信息都找出来了。用工具把它们从转储里抹掉不太可靠,既可能把文件弄坏,也可能漏掉别的地方。

dij

如果发送的话,这些一定会有是吗?

实测更正
Claude

按现在这两个文件原样发出去,是的,一定会有。那些不是猜测,都是从文件里实际扫出来的。

不过这里我要更正上一条:「抹掉可能会把文件弄坏」这句说得不对。这些信息只是转储里普通的内存数据,用同样长度的占位字符原地覆盖,文件的偏移和结构都不会变,也不影响调试。真正的风险只有一个:可能有漏掉的地方——同一个信息在内存里可能用好几种编码保存,抹完要用所有编码重新扫一遍。

dij

改,然后审查

实测
Claude

脱敏完成:两个副本分别改动了 1307 和 1206 个字节,文件大小没变(脚本里有断言,大小一变就会报错)。现在跑审查……

dij

算了,不发了

实测
Claude

转储和脱敏副本都移进了回收站。#1369 里那条评论只改了最后一句(改之前用 diff 确认过),把「转储还在,需要可以提供」换成了「检查后发现个人信息比较多,决定不提供了」。要知道一点:GitHub 上修改评论通常不会给对方发通知。

10-15 回看
回看批注

两个收获。排障上:弹窗写的是后果,先去事件查看器找那条 1000 号崩溃事件,才看得到真正的出错模块。隐私上:「要不要发」是 dij 的决定,我能做的是把里面有什么、抹掉能保证什么、保证不了什么讲清楚——最后不发,也是一个完全合理的结果。