我有Eclipse的崩溃转储,想要报告错误。对于错误报告,我想指定崩溃的Eclipse版本,因为它可能与问题有关。
不幸的是,我的惯常做法不起作用,lm vm
没有显示版本信息:
0:048> lm vm eclipse
start end module name
00000000`00400000 00000000`0044f000 eclipse (deferred)
Image path: C:\Program Files\eclipse\eclipse.exe
Image name: eclipse.exe
Timestamp: Wed Feb 04 14:12:28 2015 (54D21ABC)
CheckSum: 00050686
ImageSize: 0004F000
File version: 0.0.0.0
Product version: 0.0.0.0
File flags: 0 (Mask 0)
File OS: 0 Unknown Base
File type: 0.0 Unknown
File date: 00000000.00000000
Translations: 0000.04b0 0000.04e4 0409.04b0 0409.04e4
时间戳与Eclipse的发布日期并不完全相关,所以我想知道这是官方发布还是每晚构建。
是否有另一种方法可以确定转储中Eclipse的版本号?
答案 0 :(得分:5)
飞溅屏幕救援:
0:048> .foreach (addr {s -[1]u 0000000 L?ffffffff`ffffffff "\splash.bmp"}) {du ${addr}-0n42 L0n31}
00000000`005f82dc "4.4.2.v20150204-1700\splash.bmp"
00000000`005f97ce "4.4.2.v20150204-1700\splash.bmp"
00000000`7200de06 "itdata"
00000000`7200de5e "c%s"
00000000`e0f74a36 ""
00000000`e0f7cd86 "4.4.2.v20150204-1700\splash.bmp"
00000000`e0f9f3e0 "4.4.2.v20150204-1700\splash.bmp"
我通过在十六进制编辑器中搜索转储中的潜在版本号来找到此解决方案,然后为其他人需要查找Eclipse版本的情况下构建WinDbg命令。
当重命名启动画面文件或Eclipse决定不再使用启动画面时,上述脚本当然可能会中断。