Debugging 调试节点/Express--require(';Express';)创建中断

Debugging 调试节点/Express--require(';Express';)创建中断,debugging,node.js,express,Debugging,Node.js,Express,我在Node和Express方面的经验相当有限,但我在从终端窗口调试应用程序时遇到了问题。问题是: 运行节点调试app.js返回: < debugger listening on port 5858 connecting... ok break in server.js:1 1 var express = require('express');

我在Node和Express方面的经验相当有限,但我在从终端窗口调试应用程序时遇到了问题。问题是:

运行
节点调试app.js
返回:

< debugger listening on port 5858
connecting... ok
break in server.js:1
    1 var express = require('express');
<5858端口上侦听的调试器
连接。。。好啊
闯入服务器。js:1
1 var express=需要(“express”);

这是调试express应用程序的正确方法吗?

有一种流行的GUI调试器(利用WebKit,即Chrome、Safari..)


你应该亲自试一试,我更喜欢结合使用老式的
console.log
语句来了解发生了什么。(我认为NodeInspector提到的v8 profiler不能与Node0.6.x一起使用,但老实说,我还没有尝试过。)


如果其他人有更好的调试Node.js应用程序的维护工具,我也很想听到,但这是我所知道的最好的工具。

只是更明确地回应了Node Inspector的要求

$ sudo npm install -g node-inspector
$ node-debug app.js <arguments to your app>
debugger listening on port 5858
Node Inspector is now available from http://localhost:8080/debug?port=5858
Debugging `app.js`
$sudo npm安装-g节点检查器
$node debug app.js
调试器侦听端口5858
节点检查器现在可从http://localhost:8080/debug?port=5858
调试`app.js`
现在,在(基于webkit的?)浏览器中,转到该地址——或者它也可以远程工作,只要端口打开


现在,您可以完全访问所有暴露于客户端调试器的服务器端变量(例如
app
对象)。这很神奇。您可以在
app.get()
入口点、服务器init或任何地方设置断点。

节点检查器似乎是一种方法,谢谢。但我仍然不清楚的是如何访问服务器变量。例如,在本例中,express返回undefined?试着看看这里的例子,基本上你需要进入REPL模式,然后检查..添加正确的命令如何启动它,而不仅仅是留下一个链接。。。赢得我的选票^^我不能让它工作。node inspector已打开,但找不到app.js。这应该是可接受的答案-仅启动“node inspector app.js”根本无法解决此问题;)和。。只是留下一个“嘿,看看这个”的链接并不是我想要的答案^^