Node.js 应用故障排查手册 —— 雪崩型内存泄漏问题( 六 )

同样我们直接展开 JavaScript 栈信息查看应用 Crash 那一刻的栈信息:

截图中忽略掉了 Native C/C++ 代码的栈信息 , 这里其实仅仅看 JavaScript 栈信息就能得到结论了 , 通过翻阅比对出问题的 egg-logger@1.7.0 中 lib/utils.js 的代码内容:

这样我们就知道了线上 Node.js 应用在 Crash 的那一刻正在使用 require('util').inspect 对某个字符串进行序列化操作 。

II. 可疑字符串

那么这个序列化的动作究竟是不是造成进程 Crash 的元凶呢?我们接着来点击 inspect 函数的参数来展开查看这个可疑的字符串的详细信息 , 如下图所示:

点击红框中的参数 , 得到字符串的详情页面链接 , 如下图所示:

再次点击这里的 detail 链接 , 既可在弹出的新页面中看到这个可疑字符串的全部信息:

推荐阅读