node.js - 堆栈跟踪 Nodejs REST API 错误

标签 node.js debugging stack trace

当api(用nodejs编写)出现错误时如何显示堆栈跟踪信息?顺便说一句,我使用curl 发布了一个帖子。

我尝试了 Node 的 cli 参数 --stack-trace-limit,但除了不友好的单行错误消息之外没有显示任何内容。我可以在代码中使用 console.* 和调试器行,但这太耗时了。我尝试过 Node 检查器。虽然它有一个不错的 GUI,但它很容易崩溃。我认为必须有一种更简单的方法?

谢谢。 J

最佳答案

如果没有看到一些代码,很难具体回答。不过,您也可以使用

获取堆栈跟踪
var stack = new Error().stack

有用的模块

  1. Memwatch对于在代码中的各个位置输出堆差异非常有用
  2. node heapdump允许您向正在运行的 Node 进程发送 kill -SIGUSR2 [pid] 以生成堆转储,然后可以通过打开配置文件选项卡并右键单击左侧 Pane 在 Chrome 开发人员工具中查看该堆转储并选择加载配置文件
  3. Standard v8 debugger使用 node debug module_name.js 运行您的进程,然后代码中任何有 debugger; 语句的地方都会导致调试器在那里中断
  4. node-webkit-agent堆和 CPU 分析工具,使用 Chrome 开发人员工具界面来分析您的 Node.js 应用程序。目前不支持调试,但显然正在开发中
  5. Long Stacktraces有时您可能会收到没有任何堆栈与之关联的错误。我有时会遇到 http 请求的问题。 Longjohn 解决了这个问题
  6. node-ofe当您的应用严重崩溃时自动生成堆转储

代码结构

编写异步 Node.js 代码的方式对调试的便捷性有很大影响。命名函数是好的,匿名的高度嵌套的函数是坏的。查看http://callbackhell.com/有关如何编写干净的可调试 Node.js 代码的良好指南

关于node.js - 堆栈跟踪 Nodejs REST API 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15468669/

相关文章:

node.js - Mocha 测试中子进程的进度时间

node.js - 使用服务器端通过 post 请求发送的参数

javascript - 咕噜声 : convert images to base64 and insert into html

android - 为 Android 开发时,如何在 AsyncTask 中使用 Eclipse 调试器?

java - 通过使用单独的对象帮助 JVM 进行堆栈分配

c - 静态、堆栈和堆分配有何不同?

node.js - 如何找出NPX运行的文件?

c - 有没有比在 C 中使用 #ifdef 更简单的方法?

ios - 某些功能在 "Release"部署中不起作用(但在 "Debug"中起作用)

c - 操作函数中的整数数组时发生堆栈粉碎错误