【问题标题】:node-inspector shows 'No Properties' for objects节点检查器显示对象的“无属性”
【发布时间】:2015-03-06 00:38:39
【问题描述】:

我是调试领域的新手,尤其是使用 node-inspecor。

安装 node-inspector 后,我使用 --debug 参数启动了我的简单节点应用程序,并且能够在 localhost:8080/debug?port=5858 看到调试视图。

当我让应用在这个断点处停止时:

router.get('/people', function(req, res) {
    var num = 1;
    var str = 'rarf';
    var obj = {x: 1, y: 2}

    console.log(req)    // breakpoint
});

将光标悬停在标识符上,显示如下:

  • 请求:传入消息 - 无属性
  • res:服务器响应 - 无属性
  • str: "rarf"
  • 数量:1
  • obj: 对象 - 无属性

为什么我看不到对象的属性?

【问题讨论】:

  • reqres 仅在特定路由处理程序中定义(它们是该处理程序函数的参数)。如果您在路由处理程序中设置断点,那么您应该能够检查 req 和 res 的值。由于var x = 'hello' 不在您的代码 sn-p 中,因此您没有显示设置断点的位置。
  • 我在 sn-p 中添加了 x= 'hello'
  • 那么,如果您无法从hello 代码行上的断点看到reqres 的值,那么您就没有在节点检查器中正确执行某些操作。我不知道这个问题是什么。你能在 node-inspector 中看到任何变量的值吗?
  • 我在节点检查器中查看大对象的经验是它有时很慢。因为它是一个不同的过程,有时甚至在不同的计算机上,所以必须在显示之前远程获取属性值。尝试为req 制作一个观察表达式,然后耐心等待值是否显示出来。您还可以在 reference like this one 处查看这些对象的预期属性,然后为您想要查看的各个属性的值创建一个监视表达式。
  • 你使用的是什么版本的 Node Inspector 和 Node.js?

标签: node.js debugging node-inspector


【解决方案1】:

我遇到了同样的问题。我的节点版本是 0.10.35(稳定)。但是当我使用节点版本0.11.13(unstable)或更高版本时,这个问题就没有了。因此,您将尝试使用工具 n 将您的节点版本更新为 0.11.13。使用npm install -g n 命令安装n

【讨论】:

  • 我将节点更新到 v0.11.13,但问题仍然存在。还是谢谢
猜你喜欢
  • 2015-03-28
  • 2014-07-16
  • 2016-04-23
  • 2016-12-08
  • 2010-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多