如何在谷歌浏览器中调试标签页崩溃问题

39
我们有一个单页应用程序,会随机崩溃整个浏览器标签页。我观察了一小时以上的内存使用情况,但是它并没有增加,一切看起来都很正常。然后突然间,在一段时间之后,标签页就崩溃了。我在这里查找了一下崩溃转储文件。
C:\Users\cburgdorf\AppData\Local\Google\CrashReports

Chrome-last.dmp是完全过时的。有没有地方可以查看有关崩溃的其他信息?更不用说这是一个难以重现的问题了。

我想知道是否可以启动附加windbg的Chrome并等待(大约2个小时,叹气)进行标签崩溃。那样行吗?

更新

你们所有人都给出了很好的答案,并提供了宝贵的错误调试建议。最终我能够通过以下步骤重现错误并获取清晰的崩溃转储:

1.) windbg.exe -o chrome.exe
2.) reproduce crash
3.) .dump /ma C:\Path\To\A\CrashDump\File.dmp (as Paul pointed out)
4.) end session and load the crash dum with windbg
5.) use !analyze -v to extract valuable information

崩溃转储对于调试我的JavaScript导致Chrome崩溃有用吗?它似乎会提供相当底层的信息,我不确定我甚至能找出JavaScript运行时正在做什么。 - Frank Schwieterman
不行,但你至少可以了解崩溃的性质。例如,如果它与内存泄漏有关,这在99%的情况下是成立的。 - Christoph
如果Chrome在启动之前抛出异常,我该怎么办?那我该如何调试? - Tomáš Zato
4个回答

7

一旦WinDbg断开连接,使用以下命令创建完整的崩溃转储:

.dump /ma C:\Path\To\A\CrashDump\File.dmp

由于某些原因,我的系统上似乎不存在.dump命令,那么我该如何安装它? - Lucas
1
我也不明白那个命令应该是什么。显然,它不是Windows的一部分,所以值为“-1”。 - Tomáš Zato
4
你有没有读过“Open Windbg”这部分?我给你的注意细节的评分是-1。 - Ana Betts
2
我在你的回复中没有看到任何“打开Windbg”的部分。不过,我已经解决了这个问题。不幸的是,在安装了我希望的Windbg之后,我仍然无法从命令行运行该程序。我尝试搜索它,但也失败了。 - Tomáš Zato

4

如果您想分析特定标签页,请按照以下步骤操作。

  • 打开 Chrome 任务管理器(在菜单中选择“查看背景页面”选项)。
  • 右键单击网格并激活“进程 ID”列。
  • 并将 windbg (Windows 调试工具) 连接到此 pid。

2

1
这就是我所做的。不幸的是,没有崩溃转储。但是,我将尝试直接附加windbg运行chrome。也许我可以通过这种方式获取崩溃转储。 - Christoph
我对Chrome开发人员没有信任,我想在我的JavaScript代码中自己解决问题。 - Tomáš Zato

1

1
当选项卡崩溃后,我应该如何获取日志。它可以写入文件系统吗?我猜当选项卡崩溃时,它也会关闭Firebug。内置控制台也是如此,一旦选项卡崩溃,它将关闭整个开发人员工具,包括控制台。 - Christoph
好的,我现在已经启用了日志记录。会等待下一次崩溃发生。不确定你所说的第二个链接是什么意思。 - Christoph

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