【问题标题】:Javascript devtool VM instance find initiatorJavascript devtool VM 实例查找启动器
【发布时间】:2020-10-07 01:39:49
【问题描述】:

我正在尝试定位内存泄漏。

到目前为止,我可以看到,当我在应用程序的 2 个功能之间快速来回导航时,内存选项卡中会创建新的工作程序或 VM 实例。 (如果我走慢就不会发生)

知道如何找到这个线程的发起者吗?

我还可以在 Threads 视图中看到很多线程(当我疯狂点击时),但如果我点击它们什么也没有发生,我找不到这些线程的创建者。

注意:这是一个大应用程序。我试着记录时间线,但我只是迷路了……太多东西了。这就是为什么我想首先确定这一点。

谢谢。

【问题讨论】:

  • 那些“线程”是 Worker 实例,所以在创建它们的代码中设置断点。
  • 如果我知道谁创建它们会很棒:) 我不会问这个问题...它们可能是由我不知道的库实例化的。如果可能的话,这就是我试图从开发工具中找到的东西
  • 我会在正则表达式模式下对new\s+\w*?Worker 运行全局搜索 (Ctrl-Shift-F)。
  • @wOxxOm 最后我使用了相同的技术,幸运的是没有很多工人,所以我可以跟踪他们。谢谢,如果您希望可以添加答案;)

标签: javascript google-chrome memory-leaks google-chrome-devtools


【解决方案1】:

最后我使用了@wOxxOm 提出的技术(谢谢)

即我全局搜索(在 Chrome 开发工具 Ctrl + Shift + F 中)文本 new Worker 幸运的是应用程序代码中没有很多工作人员,所以我可以通过在文本所在的所有位置中断指向来识别谁在创建它们现在。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多