在 node.js 中实时检查 objects/stack
Inspect live objects/stack in node.js
在node.js中,是否有类似于Python中的inspect.stack()
和inspect.currentFrame()
的内容?
比如,捕获代码 context/frames/inspecting 活动对象。
您可以使用 new Error().stack
检查堆栈:
console.log(new Error().stack);
打印:
Error
at repl:1:13
at sigintHandlersWrap (vm.js:22:35)
at sigintHandlersWrap (vm.js:96:12)
at ContextifyScript.Script.runInThisContext (vm.js:21:12)
at REPLServer.defaultEval (repl.js:313:29)
at bound (domain.js:280:14)
at REPLServer.runBound [as eval] (domain.js:293:12)
at REPLServer.<anonymous> (repl.js:513:10)
at emitOne (events.js:101:20)
at REPLServer.emit (events.js:188:7)
有节点调试器,您可以 运行 使用:
node debug script.js
参见:
您还可以使用 Chrome 开发人员工具通过以下方式实时检查所有内容:
node --inspect script.js
参见:
- Debugging Node.js in Chrome DevTools 作者:马特·德劳里尔
- 使用 Chrome DevTools 调试 Node.js
作者:保罗·爱尔兰
在node.js中,是否有类似于Python中的inspect.stack()
和inspect.currentFrame()
的内容?
比如,捕获代码 context/frames/inspecting 活动对象。
您可以使用 new Error().stack
检查堆栈:
console.log(new Error().stack);
打印:
Error
at repl:1:13
at sigintHandlersWrap (vm.js:22:35)
at sigintHandlersWrap (vm.js:96:12)
at ContextifyScript.Script.runInThisContext (vm.js:21:12)
at REPLServer.defaultEval (repl.js:313:29)
at bound (domain.js:280:14)
at REPLServer.runBound [as eval] (domain.js:293:12)
at REPLServer.<anonymous> (repl.js:513:10)
at emitOne (events.js:101:20)
at REPLServer.emit (events.js:188:7)
有节点调试器,您可以 运行 使用:
node debug script.js
参见:
您还可以使用 Chrome 开发人员工具通过以下方式实时检查所有内容:
node --inspect script.js
参见:
- Debugging Node.js in Chrome DevTools 作者:马特·德劳里尔
- 使用 Chrome DevTools 调试 Node.js 作者:保罗·爱尔兰