为了账号安全,请及时绑定邮箱和手机立即绑定

使用 GDB 调试 Firefox 构建时在 Javascript 中的一行中断

使用 GDB 调试 Firefox 构建时在 Javascript 中的一行中断

翻过高山走不出你 2021-11-18 16:00:38
我正在 Firefox 中使用 Javascript。我正在使用 gdb 在 SpiderMonkey JS 引擎中设置断点,并希望在进行特定分配时中断并观察堆状态。我应该如何设置断点?我尝试过插入 Math.cos 调用之类的方法。例如,<body>  <p> Hi </p><script>    var container = [];    for (var i = 0; i < 125000; ++i) {         container[i] = document.createElementNS('http://www.w3.org/2000/svg', 'image');    }    Math.cos(1); // I want to break here    // ...</script></body>我使用./mach run --debug运行 firefox 并在 JS 引擎中的 js::math_cos 处设置断点,然后打开 html 文件,但从未命中断点。但是,如果我使用相同的 JS 代码运行 JS shell,则每当在输入的 Javascript 中调用 Math.cos 时,就会命中 js::math_cos 处的断点,也许 Firefox 构建采用的代码路径与其 JS shell 不同,但我找不到。
查看完整描述

1 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

我在启动 Firefox 时添加了一个选项 --disable-e10s,即 running ./mach run --disable-e10s --debug,它现在在脚本中的所有断点处中断。


查看完整回答
反对 回复 2021-11-18
  • 1 回答
  • 0 关注
  • 137 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信