我想调试一个应用程序,它基本上是一个简单的文本处理管道。在使用 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/