node.js - 您可以在非 Web 服务器应用程序上使用 Node 调试吗?

标签 node.js vagrant text-processing node-inspector node-debugger

我想调试一个应用程序,它基本上是一个简单的文本处理管道。在使用 node-debug 一段时间后(Vagrant 端口转发问题),我在浏览器中得到的输出如下:

Type: connect
V8-Version: 3.14.5.9
Protocol-Version: 1
Embedding-Host: node v0.10.25
Content-Length: 0

Content-Length: 96

{"seq":0,"request_seq":1,"type":"response","command":"disconnect","success":true,"running":true}Content-Length: 553

没有调试 GUI。

如果 NodeJS 应用程序不运行 Web 服务器,实际上可以通过这种方式调试它吗?

我像这样启动node-debug:

coffee --nodejs --debug-brk toLineString.coffee

编辑

按照@Brad的建议,我取得了进一步的进展,但仍然不太有效:

$ coffee --nodejs --debug-brk toLineString.coffee
debugger listening on port 5858

在另一个选项卡中: $ Node 调试 信息-socket.io 已启动

现在,在浏览器窗口中,我转到 http://localhost:8080/debug?port=5858

![enter image description here][1]

虽然只有样板函数,但没有我的代码(无论如何我都可以看到)。

如果我从调试器“运行”,我迄今为止暂停的进程就会完成。

debugger listening on port 5858
2013-10-31 15h41m21s GPS Module 1 2110_WIMMERA HWY _F_S1_0_125140 001.gps
->2013-10-31 15h41m21s GPS Module 1 2110_WIMMERA HWY _F_S1_0_125140 001.json
2013-12-16 12h12m49s GPS Module 1 2170_HYLAND HWY _F_S1_0_59840 001.gps
->2013-12-16 12h12m49s GPS Module 1 2170_HYLAND HWY _F_S1_0_59840 001.json

=> all-lines.json
vagrant@vagrant-ubuntu-trusty-64:/vagrant/test$

node-debug 进程仍在运行,我必须终止它才能再次运行 coffee。尴尬。

最佳答案

是的,您可以调试任何 Node.js 应用程序,即使它根本不启动服务器。启动node-debug会启动它自己的Web服务器来处理应用程序。

我没有看到你在任何地方实际运行 Node 调试。看起来您正在将浏览器连接到调试协议(protocol)端口,而不是 Node 调试本身。 Node-debug 是一个 Web 应用程序,然后连接到应用程序的调试端口。

关于node.js - 您可以在非 Web 服务器应用程序上使用 Node 调试吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27181920/

相关文章:

javascript - Req.params.id 未定义

ruby - Veewee 安装错误

json - 将目录及其子目录的内容转换为 JSON

regex - 在字符串中的 x,y,z 位置插入一个字符

git - 如何在一行中获取带有简短统计信息的 Git 日志?

node.js - 如何测量 Nodejs 中的事件循环阻塞?

javascript - 发出 GET 请求时出错 "Failed to load resource: net::ERR_CONNECTION_REFUSED"

node.js - 是否可以从 Mongoose 的文档中获取模型?

node.js - Vagrant ssh 提示 'no kex alg' 无法连接虚拟机

database-design - 包含 TB 及以上规模数据的 Elasticsearch 集群的推荐设置是什么?