问题标签 [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.
node.js - Express 4 的节点检查器
我正在尝试使用 Express 4 应用程序运行节点检查器——我在 Vagrant 框中运行它,但能够在浏览器中查看页面而没有任何问题(我在 vagrant 机器上的端口可用于主机)。
我使用npm start
或启动应用程序node --debug bin/www
,然后启动 node-debugger bin/www
。我在浏览器中加载了检查器,它在第一行命中了初始断点,但是在页面上执行任何会触发断点的调试操作都会导致EADDRINUSE
(也就是端口正在使用中)错误。我对可能导致这种情况的原因感到有些困惑,但是,很可能我使用的命令可以在 Express 3 而不是 4 上运行。此外,我可能缺少一些配置来运行调试器主机的浏览器,但在 vagrant box 上运行检查器?
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示例,但我无法在那里重现无限循环,只能使用节点。)
node.js - WebSocket 握手期间出错:状态行包含嵌入的 null(使用 livereload、node-inspector 和 karma)
每当我在终端中使用需要连接到 Chrome 或 Safari 的 websocket 的东西(livereload、node-inspector、karma)时,我都会收到以下控制台错误“WebSocket 握手期间出错:状态行包含嵌入的空值”不确定这是否正确提出这个问题的地方,但任何帮助将不胜感激。
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
,它可以正常工作,为什么?
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
.
谁能看到我错过了什么?
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
有任何想法吗?
node.js - 如何在 Windows 8.1 上进行安装工作节点检查器?
我在 win 8.1 上安装节点检查器
如何安装节点检查器?
node.js - 节点检查器未显示我的节点应用程序
我已按照使用 Node-Inspector 的所有步骤进行操作
但是当我打开应用程序时,我看不到我的任何脚本或控制台日志。
我的应用程序在端口 4000 上运行。我认为唯一可能发生冲突的是端口 8080 上的 WAMP,但是将 Node-Inspector 的端口更改为 1000 并没有帮助。
关于为什么会发生这种情况的任何想法?
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
我认为所需的路径一定是错误的,但不敢相信。
谢谢你的帮助!
node-inspector - 使用节点检查器调试 Jest 测试用例
有没有办法使用节点检查器通过 Jest 调试单元测试?有时可以逐步了解测试失败的原因
我尝试了几种方法
从以及首先启动检查员,例如
然后导航到http://127.0.0.1:8080/debug?port=5858
我发现偶尔(大约 10 次中的 1 次),调试器会打开 jest src 文件并且可以调试它们。不过,一般来说,调试器中的脚本只包含一个“无域”文件夹和另一个不相关的文件夹。此外,测试脚本本身也不会加载到调试器中。
有没有人试过这个?