使用带有Derby App的Node Inspector?

时间:2015-01-30 09:59:47

标签: node.js node-inspector derbyjs

我想使用node-inspector来调试用Derbyjs编写的应用程序,但是没有取得多大成功。我认为问题在于德比在子进程中运行。我的代码加载如下:

derby.run(function () {
...
});

当我使用node-inspector启动应用程序时,我看不到我写入日志的正常启动输出。但是,当我转到节点检查员输出的URL时,

http://127.0.0.1:8080/debug?port=5858
没有任何反应。我之前使用过node-inspector,从来没有真正做过任何事情来让它工作。不知道该怎么做才能让它发挥作用。

2 个答案:

答案 0 :(得分:0)

是的,你是对的。

问题是derby forks进程并没有为它们分配不同的调试端口。所以理论上你只能调试第一个德比“app”。

我提出了拉动请求以解决此问题,但尚未合并。

请访问https://github.com/derbyjs/derby/pull/472并将其合并到您的本地项目中。 之后,您将能够使用node-inspector进行调试。

指定主流程

http://localhost:8080/debug?port=5858

App 1

http://localhost:8080/debug?port=5859

...


然后在节点

中使用--debug标志
node --debug server.js

使用node-inspector

node-inspector --debug-port=5859

答案 1 :(得分:0)

如果NODE_ENV =生产,Derby不会派生进程。当然,您可以尝试这种解决方法,但如果您想使用node-inspector,我建议您不要在服务器部分使用derby.run。

derby.run只是一个包装器。你可以这样扔掉它:

  derby.run(function(){
    // inside code
  });

  // to just --->

  // inside code