【问题标题】:parsing faulting module timestamp解析故障模块时间戳
【发布时间】:2015-12-04 18:59:18
【问题描述】:

有谁知道如何从 Windows 崩溃事件中解析时间戳?例如,如何将 0x55f7fcbe 转换为人类可读的时间戳?

Faulting application name: EXCEL.EXE, version: 15.0.4763.1000, time stamp: 0x55f7fcbe
Faulting module name: EXCEL.EXE, version: 15.0.4763.1000, time stamp: 0x55f7fcbe
Exception code: 0xc0000005
Fault offset: 0x000000000010a2a4
Faulting process id: 0x26a0
Faulting application start time: 0x01d12e98fb593cfc
Faulting application path: C:\Program Files\Microsoft Office\Office15\EXCEL.EXE
Faulting module path: C:\Program Files\Microsoft Office\Office15\EXCEL.EXE
Report Id: 1cecf154-9a91-11e5-93ee-3417eba4258b

【问题讨论】:

    标签: windows crash


    【解决方案1】:

    这是一个 Unix 风格的 time_t 时间戳。 检查一下: http://www.epochconverter.com/

    您发布的日期是

    格林威治标准时间:格林威治标准时间 2015 年 9 月 15 日星期二 11:10:54

    您可以在这篇帖子Analyzing a crash in Windows: what does the error message tell us?中找到有关格式的一些详细信息

    【讨论】:

    • 谢谢,但有趣的是我知道崩溃发生在 2015 年 12 月 4 日……不知道我错过了什么。
    • 错误的应用程序启动时间看起来是正确的。 0x01d12e98fb593cfc 翻译为 2015-12-04 12:37:55 GMT。
    • 我可能错误地抓取了excel.exe时间戳,dbl检查上面的url
    • 哦,就是这样。您发布的日期是 excel.exe 时间戳:)
    • 哦,我明白了。所以 0x55f7fcbe 是 Excel.exe 程序的时间戳,与崩溃本身无关。
    【解决方案2】:

    感谢您的信息。以下 c# 代码将 Faulting 应用程序启动时间转换为日期时间:

    Int64 time = Int64.Parse(args[0], System.Globalization.NumberStyles.HexNumber);
    time = time / 10000;
    
    DateTime dt = new DateTime(1600, 1, 1);
    dt = dt.AddMilliseconds(time);
    Console.WriteLine($"{args[0]} converted to universal time is 
    {dt.ToString("s")}");
    dt = dt.ToLocalTime();
    Console.WriteLine($"{args[0]} converted to local time is 
    {dt.ToString("s")}");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-29
      • 2017-10-20
      • 2021-06-30
      • 2012-03-31
      • 1970-01-01
      • 2022-06-24
      • 2020-07-16
      • 1970-01-01
      相关资源
      最近更新 更多