Nodejs错误没有回溯

时间:2014-08-03 19:05:29

标签: node.js

我对nodejs有点新鲜。

使用express / npm。

一旦我从浏览器点击'/',我就会在输出中得到这个:

[TypeError: Object #<Object> has no method 'push']

没有行号,没有回溯,没有。

我需要能够修复此错误,为此我需要知道发生了什么文件/行#。

如何让nodejs输出回溯?

1 个答案:

答案 0 :(得分:4)

首先,添加一个快速错误处理程序,它是期望4个参数的中间件:

app.use(function (error, req, res, next) {
  console.error(error.stack);
});

确保在定义了所有正常的中间件和路由处理程序后,将上述代码放在中间件堆栈的最后

如果这不能为您提供堆栈跟踪,请捕获进程级未捕获的异常:

process.on("uncaughtException", function (error) {
  console.error(error.stack);
});

最后一个提示是使用node --debug=3001 app.js在调试器下运行您的应用程序,使用node-inspector连接到它,在chrome中打开调试器,启用&#34;停止异常&#34;,然后触发错误。调试器将带您到发生异常的行。