如何调试崩溃的Chrome浏览器扩展?

29

我开发了一个Chrome浏览器扩展程序,但很少会出现崩溃情况(例如,右上角会弹出一个气泡,显示“_____已崩溃!单击此处重新加载”)。

问题在于当扩展程序崩溃时,background.html立即消失(停止运行),我找不到任何信息帮助我调试出错原因。我打开了chrome://crashes并看到那里有条目可能对应我的问题,但是崩溃日志只给我提供了一个文件 bug 报告的链接(无法下载或查看日志)。

根据这篇关于查找崩溃日志的Google条目,我找到了一些.dmp文件,但它们基本上是无法阅读的(.dmp文件似乎是某种未经符号化的堆栈跟踪,或类似的东西)。

有没有人有一种好方法来调试Chrome扩展程序的崩溃?


编辑:经过进一步调查,我确定chrome://crashes与我的扩展程序崩溃无关。我刚刚遇到了一次崩溃,但chrome://crashes中的最新时间戳是几个小时之前的。


获取您的扩展代码审核。我认为您有一个不会结束的循环。此外,您是否尝试使用console.log创建日志? - Larry Battle
代码已经审核了吗?由谁审核的?我怀疑是否存在无限循环,但也有可能是代码中某些特定部分执行时间较长... - Zane Claes
你尝试过 http://codereview.stackexchange.com/ 吗? - Larry Battle
1
我不知道这样的东西存在。无论如何,虽然代码审查可能有所帮助,但它并不是问题的答案。我特别寻找正确的流程来调试崩溃的Chrome扩展程序,例如查看崩溃日志的方法。 - Zane Claes
1个回答

24

我曾经遇到过类似的问题,并通过启用详细日志记录来找出了问题的根本原因。要在Mac上启动具有详细日志记录功能的Google Chrome,您需要打开终端并运行类似于以下内容的命令:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --enable-logging --v=1&

然后通过tail命令查看调试日志文件。

tail -f ~/Library/Application\ Support/Google/Chrome/chrome_debug.log

在Ubuntu上尝试:

tail -f ~/.config/google-chrome/chrome_debug.log

它非常啰嗦,但可能恰好足够帮助您解决问题。

在此输入图像描述


2
参考,在我的 Ubuntu 系统上,Chrome 正在记录日志到 ~/.config/google-chrome/chrome_debug.log - nfm
4
在W10上:C:\Users\XXXX\AppData\Local\Google\Chrome\User Data\chrome_debug.log 意思是在Windows 10操作系统中,Chrome浏览器的调试日志文件存储在路径 C:\Users\XXXX\AppData\Local\Google\Chrome\User Data\chrome_debug.log 中。 - Benni

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接