堆栈跟踪nodejs REST API错误

如何显示堆栈跟踪信息,当一个API(写在nodejs)有错误? 我用curl来发布postbtw。

我试过节点的cli参数,–stack-trace-limit,但是除了不友好的一个class轮错误信息,什么也没有显示出来。 我可以在代码中使用console。*和debugger行,但这太费时了。 我试过节点检查器。 虽然它有一个很好的GUI,它崩溃了。 我估计有一个更简单的方法?

谢谢。 Ĵ

没有看到一些代码,很难专门回答。 但是,您也可以使用堆栈跟踪

var stack = new Error().stack 

有用的模块

  1. Memwatch用于在代码中的各个位置输出heap diff
  2. node heapdump允许您发送kill -SIGUSR2 [pid]到正在运行的节点进程以生成heapdump,然后可以在Chrome开发人员工具中查看heapdump,方法是打开profiles选项卡并右键单击左窗格并selectLoad Profile
  3. 标准v8debugging器使用node debug module_name.js运行你的进程node debug module_name.js然后在任何你有debugger;地方debugger; 您的代码中的语句将导致debugging器在那里打破
  4. node-webkit-agent使用Chrome开发人员工具界面来分析node.js应用程序的堆和cpu分析工具。 debugging目前不被支持,但显然是在路上
  5. 长堆栈有时你可以得到没有任何堆栈的错误。 有时,我有这个问题与http请求。 Longjohn修复了这个问题
  6. node-ofe当应用程序崩溃时自动生成堆转储

代码结构

编写asyncronous node.js代码的方式会对debugging的方便性产生很大的影响。 命名函数是好的,匿名高度嵌套的函数是不好的。 请查阅http://callbackhell.com/以获取有关如何编写干净的可debuggingnode.js代码的指导