问题标签 [node-inspector]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
5777 浏览

node.js - Express 4 的节点检查器

我正在尝试使用 Express 4 应用程序运行节点检查器——我在 Vagrant 框中运行它,但能够在浏览器中查看页面而没有任何问题(我在 vagrant 机器上的端口可用于主机)。

我使用npm start或启动应用程序node --debug bin/www,然后启动 node-debugger bin/www。我在浏览器中加载了检查器,它在第一行命中了初始断点,但是在页面上执行任何会触发断点的调试操作都会导致EADDRINUSE(也就是端口正在使用中)错误。我对可能导致这种情况的原因感到有些困惑,但是,很可能我使用的命令可以在 Express 3 而不是 4 上运行。此外,我可能缺少一些配置来运行调试器主机的浏览器,但在 vagrant box 上运行检查器?

0 投票
1 回答
337 浏览

javascript - V8 延迟生成堆栈跟踪似乎导致 vows 库中的无限循环

我花了一些时间在 NodeJS 测试套件中调试一个奇怪的无限循环问题。它只在极少数情况下发生,但我可以在附加到 chrome 调试器时重现它。

我认为这与 V8 对异常堆栈跟踪的处理以及vows 库对对象所做的扩展有关AssertionError(vows 添加了一个toString方法)。我也有可能会误会,所以想问问我对V8实现的理解是否正确。

这是重现错误的最小示例:

现在程序以无限循环结束:当在第 83 行的正则表达式中访问toString时,该方法(由 vows 库添加)被一次又一次地调用。this.stack

当我this在调试器中检查时,它显示它是 anAssertionError但它的stack属性是undefined. 但是,当我将鼠标悬停在它上面时,它会显示实际的堆栈跟踪。

我认为这种现象是由 V8 的惰性优化引起的。它仅按需计算堆栈跟踪。这样做,它干扰了toString誓言的附加方法。该toString方法再次访问堆栈跟踪 ( this.stack),因此循环继续。

这个结论正确吗?如果是这样,有没有办法修补誓言代码,所以它可以与 V8 一起使用(或者我至少可以将它报告为誓言项目中的错误)?

我在 Ubuntu 下使用节点 v0.10.28。

更新:没有誓言的简化示例

这是一个简化版本。它不再依赖于誓言,而是我只复制了其toString扩展的相关部分:

在调试模式下,递归发生在if语句中。

更新:使用 ReferenceError 的更简单的版本

(我还创建了一个jsfiddle示例,但我无法在那里重现无限循环,只能使用节点。)

0 投票
0 回答
325 浏览

node.js - WebSocket 握手期间出错:状态行包含嵌入的 null(使用 livereload、node-inspector 和 karma)

每当我在终端中使用需要连接到 Chrome 或 Safari 的 websocket 的东西(livereload、node-inspector、karma)时,我都会收到以下控制台错误“WebSocket 握手期间出错:状态行包含嵌入的空值”不确定这是否正确提出这个问题的地方,但任何帮助将不胜感激。

0 投票
1 回答
6211 浏览

node.js - 节点检查器在没有指定端口的情况下无法工作

我是节点新手。我尝试创建一个仅接收 POST 请求并将传入的 POST 正文字符转换为大写并将其返回给客户端的 HTTP 服务器。我的服务器监听程序第一个参数提供的端口。

我的代码:

以下是我的代码:

该程序需要来自命令行的端口参数。

没有调试:

我运行服务器:$ node http_uppercaserer.js 8080

并测试它:$ curl 127.0.0.1:8080 -X POST -d "asd",它返回我ASD

这意味着工作正常。

使用检查器进行调试:

但是当我node inspector用来调试我的程序时:$ node-debug http_uppercaserer.js 8080,并测试它:$ curl 127.0.0.1:8080 -X POST -d "asd"

它返回给我:Cannot POST /

奇怪的

运行后node-debug http_uppercaserer.js 8080,默认在第一行中断,当我点击恢复时,终端会抛出一个错误:

但是当我指定 port 时$ node-debug -p 9000 http_uppercaserer.js 8080,它可以正常工作,为什么?

0 投票
1 回答
106 浏览

javascript - 节点检查器正在寻找.js 当'需要'时

我开始使用 Node Inspector (Linux Mint 14)。当我尝试调试一个简单的 .js 文件时 - console.log("Hello World")- 使用:

节点检查器按预期启动,在第一行中断并在“恢复”时运行完成。

但是,如果我在 app.js 中包含“要求”:

NI 中断正常,但是当我“恢复”时,它会引发“找不到文件”错误,因为它在 node_modules 中找不到具有节点模块名称的 .js 文件,即./node_modules/someModule.js. 虽然有一个./node_modules/someModule/someModule.js.

谁能看到我错过了什么?

0 投票
1 回答
1979 浏览

node.js - 为什么 localhost 不会在 chrome (OSX) 中路由到 127.0.0.1?

当我使用 node-debug 启动脚本时,它会尝试导航到 URL localhost/debug?port=5858 但没有找到那里提供的页面。

如果我将“localhost”更改为 127.0.0.1 一切正常。

我可以 ping localhost,它正确解析为 127.0.0.1

有任何想法吗?

0 投票
0 回答
84 浏览

node.js - 如何在 Windows 8.1 上进行安装工作节点检查器?

我在 win 8.1 上安装节点检查器

如何安装节点检查器?

0 投票
1 回答
97 浏览

node.js - 节点检查器未显示我的节点应用程序

我已按照使用 Node-Inspector 的所有步骤进行操作

在此处输入图像描述 在此处输入图像描述

但是当我打开应用程序时,我看不到我的任何脚本或控制台日志。

在此处输入图像描述

我的应用程序在端口 4000 上运行。我认为唯一可能发生冲突的是端口 8080 上的 WAMP,但是将 Node-Inspector 的端口更改为 1000 并没有帮助。

关于为什么会发生这种情况的任何想法?

0 投票
1 回答
590 浏览

node.js - 项目:sahat/hackathon-starter:错误:ENOENT,没有这样的文件或目录

我的问题是,我无法再调试(节点检查器)我的项目,因为找不到 express 的一些文件。当我使用调试器时,问题才出现。因为这个问题,我从头开始安装了这个项目大约 10 次。:(

你们中有人有想法吗,原因是什么?

我的系统:Windows 7,项目:“sahat/hackathon-starter” Express:“版本”:“4.8.3”,节点检查器 0.7.4

调试器说:“错误:ENOENT,没有这样的文件或目录”路径:“c:\bpr\node_modules\express\lib\node_modules\utils-merge

真实路径:路径:“c:\bpr\node_modules\express\node_modules\utils-merge

我认为所需的路径一定是错误的,但不敢相信。

谢谢你的帮助!

0 投票
4 回答
11596 浏览

node-inspector - 使用节点检查器调试 Jest 测试用例

有没有办法使用节点检查器通过 Jest 调试单元测试?有时可以逐步了解测试失败的原因

我尝试了几种方法

从以及首先启动检查员,例如

然后导航到http://127.0.0.1:8080/debug?port=5858

我发现偶尔(大约 10 次中的 1 次),调试器会打开 jest src 文件并且可以调试它们。不过,一般来说,调试器中的脚本只包含一个“无域”文件夹和另一个不相关的文件夹。此外,测试脚本本身也不会加载到调试器中。

有没有人试过这个?