首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Mac调试Chrome Crashpad崩溃报告

从Mac调试Chrome Crashpad崩溃报告
EN

Stack Overflow用户
提问于 2022-05-10 11:54:19
回答 1查看 517关注 0票数 0

我的应用程序设法使客户的Chrome浏览器在Mac上崩溃。我要求客户启用崩溃报告,并在下次发生时发送转储文件。我得到了一个Crashpad.zip文件,其中包含了一堆.dmp文件。我认为每个文件代表一个Chrome选项卡的进程。试图使用或WinDbg打开这些转储无法工作。请注意,转储文件是在Mac上捕获的,而我正在Windows上工作。

当尝试使用~k查看调用堆栈时,我得到了输出:

代码语言:javascript
复制
0:000> ~k
 # Child-SP          RetAddr               Call Site
00 00000001`6ee35960 00000000`00000000     Google_Chrome_Framework+0x4486b50

当试图从铬符号服务器加载符号时,我得到:

代码语言:javascript
复制
0:000> .sympath+ SRV\*C:\symbols\*https://chromium-browser-symsrv.commondatastorage.googleapis.com
Symbol search path is: srv*;https://chromium-browser-symsrv.commondatastorage.googleapis.com;SRV\*C:\symbols\*https://chromium-browser-symsrv.commondatastorage.googleapis.com
Expanded Symbol search path is: cache*;SRV*https://msdl.microsoft.com/download/symbols;https://chromium-browser-symsrv.commondatastorage.googleapis.com;srv\*c:\symbols\*https://chromium-browser-symsrv.commondatastorage.googleapis.com

************* Path validation summary **************
Response                         Time (ms)     Location
Deferred                                       srv*
Deferred                                       https://chromium-browser-symsrv.commondatastorage.googleapis.com
Deferred                                       SRV\*C:\symbols\*https://chromium-browser-symsrv.commondatastorage.googleapis.com
*** WARNING: Unable to verify timestamp for Google Chrome Framework
0:000> .reload
................................................................
................................................................
................................................................
................................................
Unable to load image /Applications/Google Chrome.app/Contents/Frameworks/Google Chrome Framework.framework/Versions/101.0.4951.54/Google Chrome Framework, Win32 error 0n2
*** WARNING: Unable to verify timestamp for Google Chrome Framework

************* Symbol Loading Error Summary **************
Module name            Error
Google Chrome Framewor The system cannot find the file specified

我的问题是如何获得崩溃转储的符号并对其进行调试?

EN

回答 1

Stack Overflow用户

发布于 2022-06-10 19:03:58

Crashpad将其转储写成实际上是一种Windows的迷你格式。Microsoft中当前的WinDbg预览(1.2205.18001.0)确实可以打开,并从Windows以外的平台(包括Linux )调试崩溃垫转储。它理解并支持MachO图像、MachO符号和包含在MachO中的私有矮人符号。

也就是说--为了有用--目标进程中加载的图像和符号需要被调试器发现。我在Chromium方面的经验有限;然而,据我所知,符号服务器只对Windows版本进行索引。

Linux和Mac MachO映像确实可以在符号服务器上进行索引。与此相关的文档和索引键格式可在https://github.com/dotnet/symstore/blob/main/docs/specs/SSQP_Key_Conventions.md上获得。

如果您有直接下载的图像/符号(例如:调试包等),您可以将它们放在本地路径中,用.sympath和.reload将调试器指向这样的位置。

我相信铬也有自己的一套工具,用于从碰撞垫转储中提取信息:https://www.chromium.org/developers/decoding-crash-dumps/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72185853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档