您好我有一个独立的脚本,应该在命令行上运行(不是由API请求触发)
我可以通过这种方式运行此脚本<?php
...
class BSONArray extends ArrayObject implements \JsonSerializable,
Serializable, Unserializable
{
...
/**
* Serialize the ArrayObject as normal array
*
* @return array
*/
public function jsonSerialize() {
return $this->getArrayCopy();
}
}
但是,我能否在这种脚本上放置任何断点。
调试时在断点处停止?
我无法想象我们只能使用console.log进行调试。
node db.js
答案 0 :(得分:2)
参考:Debugger | Node.js v6.4.0 Documentation
将语句debugger;
插入脚本的源代码将在代码中的该位置启用断点:
// myscript.js
x = 5;
setTimeout(() => {
debugger;
console.log('world');
}, 1000);
console.log('hello');
要使用调试程序,请使用node debug db.js
运行程序。到达断点时,将显示调试器提示符(debug>
)。一些示例命令:
cont
,c
- 继续执行next
,n
- 下一步backtrace
,bt
- 打印当前执行帧的回溯exec expression
- 在调试脚本的上下文中执行表达式repl
- 在调试脚本的上下文中打开调试器的repl以进行评估有关完整列表,请参阅上述链接的Command reference部分。