如何使用windbg阅读Google Chrome崩溃转储

时间:2012-06-01 10:25:15

标签: debugging google-chrome windbg

这是我试图解决的问题。我有谷歌Chrome的崩溃转储。

  1. 我打开windbg说文件 - >符号文件路径: " SRV * C:\代码\符号* HTTP://msdl.microsoft.com/download/symbols; SRV * C:\代码\符号*的https://chromium-browser-symsrv.commondatastorage.googleapis。 COM" 我想这会从let到right查找调试符号,最后应该从google中获取它们。我从http://www.chromium.org/developers/how-tos/debugging复制了该文件。

  2. 我将崩溃转储拖放到windbg

  3. 然后......

    Microsoft (R) Windows Debugger Version 6.2.8400.0 AMD64
    Copyright (c) Microsoft Corporation. All rights reserved.
    
    
    Loading Dump File [C:\Users\cburgdorf\Desktop\Chrome-last.dmp]
    User Mini Dump File: Only registers, stack and portions of memory are available
    
    Symbol search path is: SRV*c:\code\symbols*http://msdl.microsoft.com/download/symbols;SRV*c:\code\symbols*https://chromium-browser-symsrv.commondatastorage.googleapis.com
    Executable search path is: 
    Windows 7 Version 7601 (Service Pack 1) MP (8 procs) Free x86 compatible
    Product: WinNt, suite: SingleUserTS
    Machine Name:
    Debug session time: Wed May 16 16:25:24.000 2012 (UTC + 2:00)
    System Uptime: not available
    Process Uptime: 0 days 0:01:39.000
    .........................................
    This dump file has a breakpoint exception stored in it.
    The stored exception information can be accessed via .ecxr.
    eax=00000000 ebx=0038e1f8 ecx=00000001 edx=0012df58 esi=00000002 edi=0038e218
    eip=776e013d esp=0038e1a8 ebp=0038e244 iopl=0         nv up ei pl zr na pe nc
    cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00200246
    ntdll!NtWaitForMultipleObjects+0x15:
    776e013d 83c404          add     esp,4
    0:000> .excr
               ^ Syntax error in '.excr'
    

    你看到它说"存储的异常信息可以通过.ecxr"但是一旦我插入它就告诉我我有语法错误。

    有谁知道我做错了什么?

1 个答案:

答案 0 :(得分:14)

你有一个错字,它是.ecxr :)与此同时,另一个简单的方法是从崩溃转储中获取信息而不需要太多的WinDbg-fu,是:

.symfix; .reload
!analyze -v

如果这是一个.NET应用程序(Chromium不仅仅是额外信息),请添加这三行

.loadby sos clr
!pe
~*e !clrstack