调试带有GDB的Firefox构建时,在JavaScript的一行中断

问题描述 投票:0回答:1

我正在使用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不同外壳,但找不到。

javascript firefox gdb spidermonkey
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.