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

使用GDB调试Firefox构建时在Javascript中的一行中断,javascript,firefox,gdb,spidermonkey,Javascript,Firefox,Gdb,Spidermonkey,我正在Firefox中开发Javascript。我正在使用gdb在SpiderMonkey JS引擎中设置断点,并希望在进行特定分配时中断,并观察堆状态。我应该如何设置断点 我尝试过插入Math.cos调用之类的操作。比如说, <body> <p> Hi </p> <script> var container = []; for (var i = 0; i < 125000; ++i) { contain

我正在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>

var容器=[]; 对于(变量i=0;i<125000;++i){ 容器[i]=document.createElements('http://www.w3.org/2000/svg","形象",; } 数学cos(1);//我想在这里休息一下 // ...
我使用/mach run--debug运行firefox,并在js引擎中的js::math_cos处设置一个断点,然后打开html文件,但该断点从未被击中

但是,如果我使用相同的JS代码运行JS shell,那么每当在输入Javascript中调用math.cos时,就会出现JS::math_cos处的断点,可能Firefox build使用的代码路径与JS shell不同,但我找不到它。

我添加了一个选项——启动Firefox时禁用-e10s,即运行
/mach run--disable-e10s--debug
,它现在会在脚本中的所有断点上中断