当作为“node --debug-brk”启动时,节点不会在第一行中断

时间:2015-03-07 09:28:00

标签: node.js node-inspector

以下文件以节点启动--debug-brk hello-http.js

你好-http.js

// Load the http module to create an http server.
var http = require('http');

// Configure our HTTP server to respond with Hello World to all requests.
var server = http.createServer(function (request, response) {
  response.writeHead(200, {"Content-Type": "text/plain"});
  response.end("Hello World\n");
});

// Listen on port 8000, IP defaults to 127.0.0.1
server.listen(8000);

// Put a friendly message on the terminal
console.log("Server running at http://127.0.0.1:8000/");

在第一行,程序应该中断,直到使用node-inspector(在另一个终端上运行)给出continue命令,最后一行console.log("服务器在http://127.0.0.1:8000/运行& #34);不应该打印。但是一旦节点启动它就不会中断并打印日志。

$ node --debug-brk hello-http.js 
Debugger listening on port 5858
Server running at http://127.0.0.1:8000/

在ubuntu-12.04 LTS机器上运行节点版本v0.12.0 如何让它在第一行中断(即var http = require(' http');)。

更新1:

重启机器后

  1. 节点--debug-brk hello-http.js 等待调试器连接显示

    $ node --debug-brk hello-http.js 调试器侦听端口5858

  2. node-inspector 在另一个终端上盯着

  3. 一旦Chrome浏览器连接到http://127.0.0.1:8080/debug?port=5858 node-inspector 节点程序就会继续执行(打印服务器运行于{ {3}} )没有等待调试器发送命令。

    $ node --debug-brk hello-http.js 调试器侦听端口5858 服务器运行在http://127.0.0.1:8000

  4. 这是预期的吗?如果是,则如何使node-inspector发送断点命令以在第一行设置断点。

2 个答案:

答案 0 :(得分:3)

看起来像node-inspector中的错误。

https://github.com/node-inspector/node-inspector/issues/534

答案 1 :(得分:1)

在节点后的v0.10版本(0.12,1.x)上运行时,这是Node Inspector的已知问题,请参阅https://github.com/node-inspector/node-inspector/issues/534