谷歌浏览器 - 崩溃转储位置

时间:2015-04-06 15:45:01

标签: google-chrome debugging crash-dumps

我正在尝试在网络应用中调试一个不断崩溃Chrome的页面(“Aw,snap!”错误)。我启用/禁用了自动崩溃报告,尝试使用google-chrome --enable-logging --v=1进行日志记录(以及各种级别的详细程度),我得到的只是chrome_debug.log {{3中的“崩溃转储ID”显示所有转储ID,但没有实际的转储文件

我看到chrome://crashes指的是读取转储文件,但我找不到转储文件本身(只是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 

有关在何处查找已发送的实际文件/数据的任何想法?

详细说明: Chrome版本:40.0.2214.111(官方版) Linux Mint 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

Info in chrome://crashes matches up to <code>uploads.log</code>

启用自动报告 ... Automatic Reporting **is** enabled

谢谢!

2 个答案:

答案 0 :(得分:6)

谷歌浏览器 - 崩溃转储位置

要在本地生成崩溃转储,

 CHROME_HEADLESS=1 google-chrome

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

生成堆栈跟踪

  1. 检查并将depot_tools添加到您的路径(用于构建breakpad

    git clone https://chromium.googlesource.com/chromium/tools/depot_tools
    export PATH=`pwd`/depot_tools:"$PATH"
    
  2. 签出并构建breakpad(使用depot_tools抓取)

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

    breakpad/src/processor/minidump_stackwalk -m /path/to/minidump
    
  4. 更多https://www.chromium.org/developers/decoding-crash-dumps

    个人首选方法

    1. 启用崩溃报告:

      Chrome菜单&gt;设置&gt;显示高级设置&gt;勾选“自动将使用情况统计信息和崩溃报告发送给Google”

    2. 转到chrome://崩溃&gt;文件错误&gt;带你去crbug.com&gt;完成 报告将自动添加的report_id field保持不变。

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

答案 1 :(得分:6)

*.dmp个文件存储在/tmp/中,这与&#34;自动崩溃报告&#34;无关。复选框。该文件也与~/.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个文件。