1

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

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-debug info - socket.io started

现在,在浏览器窗口中,我转到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再次运行。尴尬的。

4

1 回答 1

0

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

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

于 2014-11-28T04:44:09.603 回答