我正在尝试调试我的节点JS服务器的退出/停止事件 我阅读了以下主题:
和
尝试实现它们两者但是当我单击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的新手,也许我是做错了代码。
**编辑:**
我还尝试了stop
和SIGTERM
事件。我正在使用iOS。
答案 0 :(得分:1)
我今天使用相同的代码遇到了同样的问题。这与Node.js处理这些事件的方式有关。调试器服务不再通过主事件循环进行服务,因此调试器不能发出它自己的事件来让ide知道“中断”(因此没有ide交互)。