如何使用windbg阅读Google Chrome崩溃转储 [英] How to read a google chrome crash dump with windbg

查看:533
本文介绍了如何使用windbg阅读Google Chrome崩溃转储的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我正在努力解决的问题。我有一个Google Chrome崩溃转储。


  1. 我打开windbg并说文件 - >符号文件路径:
    SRV * c:\code\symbols * http://msdl.microsoft.com/download/symbols; SRV * c:\code\symbols * https://chromium-browser-symsrv.commondatastorage.googleapis .com
    我猜这是从let到右边的调试符号,最后应该从谷歌那里获取。我从 http://www.chromium.org/developers/how-tos/debugging复制


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


然后...

  Microsoft(R)Windows Debugger版本6.2.8400.0 AMD64 
版权所有(c)微软公司。版权所有。


加载转储文件[C:\Users\cburgdorf\Desktop\Chrome-last.dmp]
用户迷你转储文件:只有寄存器,堆栈和部分的内存可用

符号搜索路径是:SRV * c:\code\symbols * http://msdl.microsoft.com/download/symbols; SRV * c:\code\\ \\ symbols * https://chromium-browser-symsrv.commondatastorage.googleapis.com
可执行搜索路径是:
Windows 7版本7601(Service Pack 1)MP(8 procs)免费x86兼容
产品:WinNt,suite:SingleUserTS
机器名称:
调试会话时间:Wed May 16 16:25:24.000 2012(UTC + 2:00)
系统正常运行时间:不可用
处理正常运行时间:0天0:01:39.000
................................. ........
此转储文件中存在断点异常。
可以通过.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
^'.excr'中的语法错误

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



有谁知道我做错了什么?

解决方案

你有一个打字错误,它是 .ecxr :)在此期间,另一种简单的方式可以从崩溃转储中获取信息,而不需要太多的WinDbg-fu,是:

 。 symfix; .reload 
!analyze -v

如果这是一个.NET应用程序(Chromium isn添加这三行

  .loadby sos clr 
!pe
〜* e!clrstack


here is what I'm trying to solve. I have a crash dump from Google Chrome.

  1. I open windbg and say File -> Symbol File Path: "SRV*c:\code\symbols*http://msdl.microsoft.com/download/symbols;SRV*c:\code\symbols*https://chromium-browser-symsrv.commondatastorage.googleapis.com" I guess this looks for the debugging symbols from let to right and should finally grab them from google then. I copied that from http://www.chromium.org/developers/how-tos/debugging.

  2. I drag and drop the crash dump into windbg

And then...

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'

You see that it says "The stored exception information can be accessed via .ecxr" but once I insert that it tells me that I have a syntax error.

Does anyone know what I'm doing wrong?

解决方案

You've got a typo, it's .ecxr :) In the meantime, another easy way to get information out of a crash dump without needing too much WinDbg-fu, is:

.symfix; .reload
!analyze -v

And if this is a .NET App (Chromium isn't but just for extra info), add these three lines

.loadby sos clr
!pe
~*e !clrstack

这篇关于如何使用windbg阅读Google Chrome崩溃转储的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆