我想使用node-inspector来调试用Derbyjs编写的应用程序,但是没有取得多大成功。我认为问题在于德比在子进程中运行。我的代码加载如下:
derby.run(function () {
...
});
当我使用node-inspector启动应用程序时,我看不到我写入日志的正常启动输出。但是,当我转到节点检查员输出的URL时,
http://127.0.0.1:8080/debug?port=5858
没有任何反应。我之前使用过node-inspector,从来没有真正做过任何事情来让它工作。不知道该怎么做才能让它发挥作用。
答案 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