首页 > 解决方案 > 为什么 Node.js 会因“中止:无效字节码”而崩溃

问题描述

Windows-10 上的 Node.js v8.11.2 会发生这种情况。

我正在 WebStorm 上调试我的 Node.js 程序。在某些时候,我停止使用“调试器”语句:

....  
ok (50) ;
debugger
ok (sCount);

当我跳过 ok (sCount) 时,它会因"abort: Invalid bytecode"而崩溃。

对“ok (sCount)”的调用似乎没有任何错误或特殊之处,因为我可以将“ok (sCount)”复制到 WebStorm 检查器,它可以在其中工作并给出预期的结果。我也可以单步进入它。

如果我不执行单步操作,但单击“继续”,则不会发生崩溃。

如果我单步进入“ok (sCount)”,我会看到它正在执行:

if (aBoolean)
{ return true;
}

当我单步执行“return true”语句时,就会发生崩溃;

为什么 Node.js 会执行无效的字节码?如何解决这个问题?如何确保它不会在生产中发生?

标签: node.jswebstorm

解决方案


推荐阅读