【发布时间】:2022-06-11 03:03:58
【问题描述】:
我的应用程序以某种方式使客户的 Mac 上的 Chrome 浏览器崩溃。我要求客户启用崩溃报告,并在下次发生故障时将转储文件发送给我。我得到了一个 Crashpad.zip 文件,其中包含一堆 .dmp 文件。我想每个文件都代表一个 Chrome 标签的进程。尝试使用 Visual Studio 或 WinDbg 打开这些转储不起作用。请注意,转储文件是在 Mac 上捕获的,而我在 Windows 上工作。
当尝试使用 ~k 查看调用堆栈时,我得到了输出:
0:000> ~k
# Child-SP RetAddr Call Site
00 00000001`6ee35960 00000000`00000000 Google_Chrome_Framework+0x4486b50
当尝试从 Chromium 符号服务器加载符号时,我得到:
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
我的问题是如何获取故障转储的符号并对其进行调试?
【问题讨论】:
-
如果这些故障转储是在 macOS 上捕获的,那么它将无法在 Windows 上运行。但我怀疑 crashpad 使用 macOS 的 dmp 文件。如果您有调试符号并假设 dmp 文件是由 crashpad 在 Windows 上生成的,那么您绝对可以在 VS 中调试 dmp 文件
-
不知WinDbg竟然能打开这些到现在可以输入命令。
标签: google-chrome debugging chromium windbg crashpad