Nodejs 调试server的问题

Nodejs 调试server的问题

从书里面找到的方法是用node-inspector. 监听的信息如下是: C:\Users\hc>node-inspector --web-port={3000} Node Inspector v0.7.4 Visit http://127.0.0.1:60257/debug?port=5858 to start debugging.

然后我启动程序的命令是: C:\Users\hc>node --debug D:\node\server.js debugger listening on port 5858

之后我打开chrome的3000端口后 页面空白一片,然后有一个index 一个jquery.js 和几个我不知道是什么的JS 文件。 现在要怎么调试server.js呢?或者说有其他的方法来调试么?


3 回复

Nodejs 调试server的问题

调试Node.js服务器时遇到问题是很常见的。你提到使用node-inspector进行调试,但遇到了一些困难。在这里,我会介绍几种调试Node.js服务器的方法,并提供一些示例代码帮助你更好地理解。

方法一:使用node-inspector

你已经尝试过使用node-inspector,但似乎没有成功。这里是一个简单的步骤:

  1. 安装node-inspector

    npm install -g node-inspector
    
  2. 启动node-inspector

    node-inspector --web-port=3000
    
  3. 启动你的应用并启用调试

    node --debug server.js
    
  4. 打开Chrome浏览器访问node-inspector提供的地址(例如http://127.0.0.1:3000/?ws=127.0.0.1:3000&port=5858)。

如果页面显示为空白,可能是因为node-inspector的版本或配置有问题。你可以尝试更新到最新版本或检查是否有其他防火墙设置阻止了访问。

方法二:使用Chrome DevTools

如果你更喜欢使用现代的开发工具,可以使用Chrome DevTools直接调试Node.js应用。

  1. 启动你的应用并启用调试

    node --inspect server.js
    
  2. 在Chrome中打开开发者工具: 打开Chrome浏览器,在地址栏输入about:inspect,然后点击"Open dedicated DevTools for Node"。

  3. 选择你的应用进程并开始调试

示例代码

假设你的server.js文件如下:

const http = require('http');

const server = http.createServer((req, res) => {
    if (req.url === '/debug') {
        res.writeHead(200, {'Content-Type': 'text/plain'});
        res.end('Debugging Server');
    } else {
        res.writeHead(404, {'Content-Type': 'text/plain'});
        res.end('Not Found');
    }
});

server.listen(3000, () => {
    console.log('Server running at http://localhost:3000/');
});

当你使用上述方法之一启动调试时,你可以在Chrome DevTools中设置断点,并逐步执行代码以查看变量的状态。

总结

通过使用node-inspector或Chrome DevTools,你可以有效地调试Node.js服务器。这两种方法各有优缺点,选择哪种取决于你的偏好和具体需求。希望这些信息能帮助你解决问题!


我去,难道你们都不调试的么?

要在 Node.js 中调试你的 server.js 程序,你可以使用更现代的工具,比如 node 自带的 V8 调试器或者 Chrome DevTools。以下是一些方法:

使用 Chrome DevTools

  1. 启动 Node.js 应用带调试模式

    node --inspect-brk server.js
    

    这会启动你的应用并暂停在第一个断点处。

  2. 使用 Chrome 打开调试界面: 在 Chrome 浏览器中访问 chrome://inspect,然后点击 “Open dedicated DevTools for Node”,选择你的进程进行调试。

示例代码:server.js

const http = require('http');

// 设置一个断点
console.log('Server is running...');
const server = http.createServer((req, res) => {
    console.log('Request received');
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World\n');
});

server.listen(3000, () => {
    console.log('Server listening on port 3000');
});

使用 VS Code 进行调试

  1. 安装 VS Code 并创建一个 .vscode/launch.json 配置文件:

    {
        "version": "0.2.0",
        "configurations": [
            {
                "type": "node",
                "request": "launch",
                "name": "Launch Program",
                "program": "${workspaceFolder}/server.js"
            }
        ]
    }
    
  2. 启动调试:

    • 点击左侧面板的调试图标(虫子图标)。
    • 选择 Launch Program 配置并点击运行按钮。

以上步骤可以帮助你设置和使用现代的调试工具来调试你的 Node.js 服务器程序。如果你有更多问题或需要进一步的帮助,请随时告知!

回到顶部