如何使用windbg分析Chrome Aw Snap后的异常

时间:2013-04-02 11:35:41

标签: windows debugging google-chrome windbg crash-dumps

我的网络应用程序中一直有“Aw Snap”。使用windbg并在How do I debug a tab crash in Google Chrome的帮助下,我试图弄清楚问题。

到目前为止,我已经完成了步骤:

  1. 从Crashes目录中获取.dmp文件
  2. 将它加载到windbg
  3. 管理以查看堆栈(使用“k”)
  4. 尝试时!analyze没有显示任何有意义的内容
  5. 我需要查看导致崩溃的模块 如何从这里进步?

    编辑: 有一个错字。 “!analyze -v”做的工作类似于: kb,dd,.exr,.cxr,kv 对于所有Chrome AwSnappers - !analyze -v就是你要找的东西

    以下信息......

    0:000> !analyze
    
    *******************************************************************************
    *                                                                             *
    *                        Exception Analysis                                   *
    *                                                                             *
    *******************************************************************************
    
    Use !analyze -v to get detailed debugging information.
    
    GetPageUrlData failed, server returned HTTP status 404
    URL requested: http://watson.microsoft.com/StageOne/chrome_exe/27_0_1446_3/5148bbf0/unknown/0_0_0_0/bbbbbbb4/c0000005/24430fba.htm?Retriage=1
    Probably caused by : chrome.dll ( chrome!v8::internal::Invoke+14a )
    
    Followup: MachineOwner
    ---------
    
    0:000> analyze -v
    *** WARNING: Unable to verify timestamp for pdf.dll
    *** ERROR: Module load completed but symbols could not be loaded for pdf.dll
    *** WARNING: Unable to verify timestamp for icudt.dll
    *** ERROR: Module load completed but symbols could not be loaded for icudt.dll
    *** WARNING: Unable to verify timestamp for ppGoogleNaClPluginChrome.dll
    

    堆栈显示:

    0:000> k
    ChildEBP RetAddr  
    0039e438 76ea15e9 ntdll!ZwWaitForMultipleObjects+0x15
    0039e4d4 75dc1a2c KERNELBASE!WaitForMultipleObjectsEx+0x100
    0039e51c 75dc4220 kernel32!WaitForMultipleObjectsExImplementation+0xe0
    0039e538 012d0572 kernel32!WaitForMultipleObjects+0x18
    0039e55c 012d0688 chrome!google_breakpad::CrashGenerationClient::SignalCrashEventAndWait+0x45 [c:\b\build\slave\win\build\src\breakpad\src\client\windows\crash_generation\crash_generation_client.cc @ 369]
    0039e56c 012cfb89 chrome!google_breakpad::CrashGenerationClient::RequestDump+0x4f [c:\b\build\slave\win\build\src\breakpad\src\client\windows\crash_generation\crash_generation_client.cc @ 333]
    0039e588 012cff6a chrome!google_breakpad::ExceptionHandler::WriteMinidumpWithException+0x30 [c:\b\build\slave\win\build\src\breakpad\src\client\windows\handler\exception_handler.cc @ 817]
    0039e5ac 75e0003f chrome!google_breakpad::ExceptionHandler::HandleException+0x46 [c:\b\build\slave\win\build\src\breakpad\src\client\windows\handler\exception_handler.cc @ 476]
    0039e634 779774df kernel32!UnhandledExceptionFilter+0x127
    0039e63c 779773bc ntdll!__RtlUserThreadStart+0x62
    0039e650 77977261 ntdll!_EH4_CallFilterFunc+0x12
    0039e678 7795b459 ntdll!_except_handler4+0x8e
    0039e69c 7795b42b ntdll!ExecuteHandler2+0x26
    0039e6c0 7795b3ce ntdll!ExecuteHandler+0x24
    0039e74c 77910133 ntdll!RtlDispatchException+0x127
    0039e74c 00000000 ntdll!KiUserExceptionDispatcher+0xf
    

1 个答案:

答案 0 :(得分:4)

0039e634 779774df kernel32!UnhandledExceptionFilter+0x127

当没有定义异常处理程序来处理引发的异常时,将调用UnhandledExceptionFilter函数。

HOW TO: Find the Problem Exception Stack When You Receive an UnhandledExceptionFilter Call in the Stack Trace