Google Chrome - 故障转储位置

Google Chrome - Crash Dump Location

我正在尝试调试 Web 应用程序中不断崩溃的页面 Chrome("Aw, snap!" 错误)。我有 enabled/disabled 自动崩溃报告,尝试使用 google-chrome --enable-logging --v=1 记录(以及各种级别的冗长),我得到的只是 chrome_debug.log "crash dump ID" chrome://crashes 显示所有转储 ID,但没有实际转储文件

我看到 other questions 指的是读取转储文件,但我找不到转储文件本身(只有 ID)。

搜索 /tmp~/.config/google-chrome/ 中的崩溃 ID 没有任何结果,但是 ~/.config/google-chrome/chrome_debug.log 显示 发送了一些东西

--2015-04-06 11:10:00--  https://clients2.google.com/cr/report
Resolving clients2.google.com (clients2.google.com)... 74.125.228.224, 74.125.228.225, 74.125.228.231, ...
Connecting to clients2.google.com (clients2.google.com)|74.125.228.224|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘/dev/fd/3’

     0K
 Crash dump id:  7dac9d5d58258264 

关于在哪里可以找到发送的实际 file/data 的任何想法?

详情: Chrome版本:40.0.2214.111(正式版) Linux 薄荷 16(佩特拉)

编辑:一些额外信息:

curtis@localhost:-$ tail -n 5 uploads.log && echo $(pwd)
1428584493,ddc357e4600a49e6
1428584497,7ac16455c152381a
1428589439,d00ad6f5e6426f3d
1428934450,66b3f722430511e8
1428939578,7a2efc2b681515d1
/home/curtis/.config/google-chrome/Crash Reports

curtis@localhost:-$ ll -a
total 12
drwx------ 2 curtis curtis 4096 Apr  6 11:32 .
drwx------ 9 curtis curtis 4096 Apr 13 11:43 ..
-rw------- 1 curtis curtis 3291 Apr 13 11:39 uploads.log

自动报告启用...

谢谢!

Google Chrome - 故障转储位置

要在本地生成故障转储,

 CHROME_HEADLESS=1 google-chrome

然后 .dmp 个文件存储在 ~/.config/google-chrome/Crash Reports

生成堆栈跟踪

  1. 查看并添加depot_tools to your PATH (used to build breakpad)

    git clone https://chromium.googlesource.com/chromium/tools/depot_tools
    export PATH=`pwd`/depot_tools:"$PATH"
    
  2. 签出并构建 breakpad (using fetch from depot_tools)

    mkdir breakpad && cd breakpad
    fetch breakpad
    cd src
    ./config && make
    
  3. 要生成不带符号的堆栈跟踪:

    breakpad/src/processor/minidump_stackwalk -m /path/to/minidump
    

这里有更多内容https://www.chromium.org/developers/decoding-crash-dumps

个人首选方法

  1. 启用崩溃报告:

    Chrome 菜单 > 设置 > 显示高级设置 > 勾选 "Automatically send usage statistics and crash reports to Google"

  2. 转到 chrome://crashes > 文件错误 > 带你到 crbug.com > 完成 报告保持自动添加 report_id field 不变。

  3. Chrome/Chromium团队的人会跟进。他们可以提供 您提供堆栈跟踪并帮助解决问题。

*.dmp 个文件存储在 /tmp/ 中,这与 "Automatic crash reporting" 复选框无关。该文件也与存储在 ~/.config/google-chrome/

中的哈希无关

~/.config/google-chrome/Crash Reports/uploads.log中:

1429189585,5bddea9f7433e3da

从使用 开始,此特定报告的故障转储文件为:

chromium-renderer-minidump-2113a256de381bce.dmp

解法:

root@localhost:-$ mkdir /tmp/misc && chmod 777 /tmp/misc
root@localhost:-$ cd /tmp
root@localhost:-$ watch -n 1 'find . -mmin -1 -exec cp {} /tmp/misc/ \;'

然后,作为普通用户(不是 root):

google-chrome --enable-logging --v=1

一旦看到由 watch 命令创建的文件,运行:

root@localhost:-$ ls -l
-rw-------  1 root root 230432 Apr 16 09:06 chromium-renderer-minidump-2113a256de381bce.dmp
-rw-------  1 root root 230264 Apr 16 09:12 chromium-renderer-minidump-95889ebac3d8ac81.dmp
-rw-------  1 root root 231264 Apr 16 09:13 chromium-renderer-minidump-da0752adcba4e7ca.dmp
-rw-------  1 root root 236246 Apr 16 09:12 chromium-upload-56dc27ccc3570a10
-rw-------  1 root root 237247 Apr 16 09:13 chromium-upload-5cebb028232dd944

现在您可以使用 breakpad 处理 *.dmp 文件。