你可以使用内置的NodeJS调试器访问`this`吗?

时间:2013-08-06 11:39:26

标签: node.js

我正在使用http://nodejs.org/api/debugger.html

我在方法中放了一个断点:

Processor.prototype.myMethod = function() {
  console.log(this.constructor.name);  // returns Processor

  debugger;

  this.otherMethod(123);
}

我打电话给node debug myapp.js然后到达断点。但是当我输入this.constructor.name时,我会得到'对象',而不是'处理器'。

我可以访问该范围内的this,还是必须使用https://github.com/node-inspector/node-inspector之类的内容?

编辑:我似乎无法从调试器访问任何脚本变量,甚至Processor。我在OS X上使用v0.10.13。

1 个答案:

答案 0 :(得分:1)

是的,您可以访问此值以及可从调试器停止的作用域访问的任何其他值,但您应该启动调试器repl,在同一调试器中键入该命令,然后在那里键入您想要观看的值(this.constructor.name)。

要退出调试器的repl,请按ctrl + c,然后您将返回调试器提示符。

提醒您,如果构造函数是命名函数,则它将具有名称,否则它将是空字符串,例如 var Processor = function Processor() {};代替var Processor = function () {};