节点–debug-brk app.js不能正常工作
我试图debugging我的应用程序,但是当我使用–debug-brk标志时,某些事情正在停止应用程序的启动。
这是我的输出通常:
/usr/local/bin/node app.js Express server listening on port 3000 Connected to database HackRegDb
下面是当我运行–debug-brk(在代码中的一个断点处,在初始启动时不会被命中)时发生的情况,
/usr/local/bin/node --debug-brk=59763 app.js debugger listening on port 59763
看,没有“服务器收听”部分。 代码显然是一样的,而且在吐出之前没有断点。
作为参考,这里是我的app.js文件:
var express = require('express') , routes = require('./routes') , members = require('./routes/members') , teams = require('./routes/teams') , http = require('http') , path = require('path'); var app = express(); // all environments app.set('port', process.env.PORT || 3000); app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(express.session()); app.use(app.router); app.use(express.static(path.join(__dirname, 'public'))); // development only if ('development' == app.get('env')) { app.use(express.errorHandler()); } app.get('/', routes.index); app.get('/members', members.list); app.get('/teams', teams.list); app.post('/members', members.add); app.post('/teams', teams.add); app.put('/members/:id', members.update); app.put('/teams/:id', teams.update); http.createServer(app).listen(app.get('port'), function(){ console.log('Express server listening on port ' + app.get('port')); });
我错过了什么吗?
--debug-brk=
在第一行停止节点程序,这意味着它将在启动服务器之前中断。 然后,您可以连接您的debugging器,然后按继续运行该程序。
您可以使用--debug=
来启动debugging器,但不能在开始时中断。 因此,如果在asynchronous代码中有某个debugger
行,则在debugging器连接时它仍然会中断。
奇怪,但这是帮助我的。
我运行相同的命令行,但没有-brk
。
/usr/local/bin/node --debug=59763 app.js
该应用程序成功完成。 然后--debug-brk
的后续运行很好。
/usr/local/bin/node --debug-brk=59763 app.js
在jetbrains PhpStorm,
启动节点应用程序后,在左下方的debugging工具附近。 有一个闪电(例外切换)。
对我来说,取消select那个解决了我的问题的选项。
感谢所有的答案。 这个问题似乎已经通过JetBrains的许多更新之一解决了。 我现在能够正确debugging,没有问题。