Skip to content

OpenLogTool v3.0.2-R

Choose a tag to compare

@github-actions github-actions released this 05 Oct 14:49
· 39 commits to main since this release
a70fac2

OpenLogTool 3.0.2-R

本次为修复与诊断增强版本,功能与 3.0.1-R 一致,建议所有 Windows 用户升级。

Windows 崩溃修复

  • 修复 Windows 上 Flutter 无障碍桥的原生崩溃:flutter_windows.dll 中 0xC0000005(访问冲突、读取偏移 0x48)。该缺陷在 release 构建里解引用空父节点,表现为应用被系统直接终止(Windows 事件日志 1000,无 Dart 日志)。五份现场 minidump 均指向同一位置 flutter_windows.dll+0x3A9FA。
  • 此前的兼容保护只覆盖 Windows 10;而崩溃集中出现在 Windows 11,恰好不在保护范围内。现已对所有 Windows 版本生效。
  • 该缺陷源自 Flutter 引擎,上游尚未修复(flutter/flutter#175041、#186886、#190357)。当前做法是把语义树折叠为单个无子节点、绕开会崩的重挂载路径,属于缓解而非引擎级修复。
  • 使用屏幕阅读器的用户:启动前设置 OPENLOGTOOL_ENABLE_WINDOWS_ACCESSIBILITY=1 可恢复完整的 Windows 无障碍语义树(同时会重新暴露该崩溃风险)。默认关闭。

崩溃诊断

  • 上次进程非正常退出后,本次启动会在诊断日志中列出各平台崩溃文件的位置,便于事后定位。
  • 新增 Linux 原生崩溃报告:进程收到 SIGSEGV / SIGBUS / SIGILL / SIGFPE / SIGABRT 时写出文本报告(信号、可执行路径、回溯、内存映射),存放于 $XDG_DATA_HOME/openlogtool/crashes/(未设置时回退到 ~/.local/share/openlogtool/crashes/),无需调试器即可阅读。
  • Windows 仍写入 %LOCALAPPDATA%\OpenLogTool\CrashDumps 的 minidump;macOS 仍以系统 .ips 报告为准,应用只在启动时给出其位置。

使用与升级

  • 覆盖安装即可,无需迁移本机记录。

完整代码变更