我希望能够在使用node
和Web Inspector进行调试期间在node-inspector
中运行整个脚本。 - 我不想要逐步各个JavaScript调用。
(我的PowerShell说明)
PS C:\Users\JK> node-inspector
info - socket.io started
visit http://0.0.0.0:8080/debug?port=5858 to start debugging
...
==[In another PowerShell instance:]==
PS %> node —debug-brk myscript.js
debugger listening on port 5858
我正在编写节点脚本。在这个脚本中,我console.log
了很多对象,以便在调试过程中能够探索它们。但简单的静态文本控制台输出并不是很好 - 您不能折叠和扩展对象的属性或获取函数的源代码:
(例如)
{ [Function: Xy]
a: [Function],
b: 8.2,
c: [Function],
d: [Circular],
e: '2011-11-11' }
所以我决定使用带有node-inspector
的Web Inspector来获得良好的对象浏览体验(因为Web Inspector的输出格式很好)。
(我的脚本结构)
var fs = require('fs');
fs.readFile('myfile', function (err, data) {
if (err) {
throw err;
}
//My Script...
console.log(something);
});
console.log()
调用在回调函数中执行
require('fs').readFile()
。我不会只是“正常”到达那里
步骤。node —debug myscript.js
代替node —debug-brk myscript.js
,因为Inspector会因为脚本运行得太快而抛出Error: connect ECONNREFUSED
Is node running with --debug port 5858?
(Web Inspector Interface)
感谢。 - (我希望很清楚我想问的是什么。 - 如果不是,请写评论。)
答案 0 :(得分:3)
你有两个选择。
使用--debug-brk
:
启动脚本,让它停在第一行。
在“脚本”窗格中,单击回调内的行号(行 4在此 例子)。
点击“继续”(右侧面板上方的“|>”图标)。
使用--debug
:
debugger;
添加到回调中。这将停止
那时调试器。点击“|>”当你完成了。