无法调试node.js“停止”事件并处理“退出”事件

时间:2016-05-09 15:19:43

标签: node.js express webstorm

我正在尝试调试我的节点JS服务器的退出/停止事件 我阅读了以下主题:

Close event

Process events

尝试实现它们两者但是当我单击WebStorm IDE中的“停止”按钮时,我似乎无法在断点处停止。

我的bin / www文件中有以下代码:

line 17: syntax error near unexpected token scp

但是当我停止调试会话时,会触发上述内容。

我也尝试使用var server = http.createServer(app); /** * Listen on provided port, on all network interfaces. */ server.listen(port); server.on('error', onError); server.on('listening', onListening); process.stdin.resume();//so the program will not close instantly function exitHandler(options, err) { if (options.cleanup) console.log('clean'); if (err) console.log(err.stack); if (options.exit) process.exit(); } //do something when app is closing process.on('exit', exitHandler.bind(null,{cleanup:true})); //catches ctrl+c event process.on('SIGINT', exitHandler.bind(null, {exit:true})); //catches uncaught exceptions process.on('uncaughtException', exitHandler.bind(null, {exit:true})); 而没有运气。

我怀疑按下IDE中的server.on('stop',...)按钮来停止调试会话不是调试这种情况的正确方法,但因为我是node.js的新手,也许我是做错了代码。

**编辑:** 我还尝试了stopSIGTERM事件。我正在使用iOS。

1 个答案:

答案 0 :(得分:1)

我今天使用相同的代码遇到了同样的问题。这与Node.js处理这些事件的方式有关。调试器服务不再通过主事件循环进行服务,因此调试器不能发出它自己的事件来让ide知道“中断”(因此没有ide交互)。