一些调试 Node.js 程序的快捷方法


当前第2页 返回上一页

另一种选择是安装 ndb,它是 Node.js 的独立调试器,和浏览器中的 DevTools 类似,就像一个隔离的本地调试器一样。它还有一些在 DevTools 中不可用的额外功能。它支持本地编辑,这意味着你可以修改代码并得到调试器平台直接支持的更新逻辑。这对于进行快速迭代非常有用。w

事后调试

假设你的程序由于灾难性错误(例如内存访问错误)而崩溃。这些可能很少见,但确实会发生,特别是如果你的应用程序依赖于本机代码。

要调查这类问题,可以使用 llnode。当程序崩溃时,llnode 可以通过将 JavaScript 堆栈框架和对象映射到 C/C++ 端的对象来检查它们。为了使用它,你首先需要程序的核心转储。为此你需要使用 process.abort 而不是process.exit 来关闭代码中的进程。当你使用 process.abort 时,Node 进程在退出时会生成一个核心转储文件。

为了更好地理解 llnode 可以提供的功能,这个视频演示了其一些功能。

有用的 Node 模块

除了上述所有以外,还建议用第三方软件包做进一步调试。

debug

第一个被简单地称为 debug。使用 debug,你可以基于函数名或整个模块为日志消息分配特定的命名空间。然后可以通过特定的环境变量选择将哪些消息打印到控制台。

例如,这是一个 Node.js 服务器,它正在记录来自整个程序和中间件栈的几条消息,例如 sequelizeexpress:applicationexpress:router

4.png

如果我们将 DEBUG 环境变量设置为 express:router 并启动相同的程序,则仅显示标记为 express:router 的消息:

5.png

通过以这种方式过滤消息,可以深入研究程序单个部分的行为方式,而无需大幅度更改代码的日志记录。

trace 与 clarify

trace 和 clarify 两个模块最好在一起配合使用。

trace 通过提供有关被调用的异步方法的更多详细信息来扩展你的异步栈跟踪,这是 Node.js 默认不提供的路线图。 clarify 通过从特定于 Node.js 内部的栈跟踪中删除所有信息来提供帮助。这使你可以专注于仅针对程序的函数调用。

这些模块都不建议在生产环境中运行!仅在本地开发环境中进行调试时才应启用它们。

更多编程相关知识,可访问:编程教学!!

以上就是一些调试 Node.js 程序的快捷方法的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

了解一下node.js中的文件夹写入

node.js 15正式版发布,将替代node.js 14成为当前的的稳定发行版

nodejs接口如何传输数据?

深入研究node.js中的日志信息

如何利用nvm工具来管理node版本?方法介绍

深入了解node.js中的koa框架

node.js中lts和current有什么区别

如何在macos上安装node.js和npm

node.js和vue.js什么关系

mac和windows下如何使用nvm安装和管理多个版本的node.js

更多相关阅读请进入《node.js》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...