文章详细记录了在 Wine 下调试一个崩溃的 Windows 程序的过程。作者通过 Wine 调试日志、Valgrind 以及 rr 记录回放调试器,定位到一次执行页错误,可能是 png_read_info 调用后导致的栈损坏。
背景
Wine 是一个兼容层,使 Linux 能运行 Windows 二进制文件,但运行时环境的细微差异可能导致难以复现的崩溃。调试此类问题通常需要使用超出普通日志的底层工具。
- 来源
- Lobsters
- 发布时间
- 2026年9月14日 04:31
- 评分
- 5.0 / 10
文章详细记录了在 Wine 下调试一个崩溃的 Windows 程序的过程。作者通过 Wine 调试日志、Valgrind 以及 rr 记录回放调试器,定位到一次执行页错误,可能是 png_read_info 调用后导致的栈损坏。
Wine 是一个兼容层,使 Linux 能运行 Windows 二进制文件,但运行时环境的细微差异可能导致难以复现的崩溃。调试此类问题通常需要使用超出普通日志的底层工具。