调试node.js中的无限循环

Dan*_*elS 6 node.js

我似乎在node.js程序中的某个地方有一个无限循环.CPU上升到99.9%,服务器冻结.

当服务器冻结然后检查调用堆栈以查看导致此问题的函数时,有没有办法打破?

Dan*_*elS 4

所以,我想出了一个解决方案。

我安装了node-inspector(顺便说一句,这是一件很棒的工作)并在调试模式下编译了节点。不要忘记激活它:node-inspector &将在后台运行它。

之后我使用 V8 的调试标志启动节点进程:

node --debug script.js

棘手的部分是让无限循环重新出现,但大约 20 分钟后,我很幸运,它确实出现了。我使用检查器界面暂停程序(右侧的暂停按钮),然后检查堆栈当前的位置。有时,本机代码中会发生暂停,但您可以暂停并恢复它,直到返回到 JavaScript。

成功 :)