我正在尝试调试Node(MERN堆栈)应用程序中的偶发错误。一种方法是跟踪所有方法调用。我碰到了似乎需要的'njsTrace'(https://www.npmjs.com/package/njstrace)包,但是即使遵循非常明确的说明,它也不会产生任何痕迹。目前,我的index.js文件中有
var consoleFormatter = {
stdout: true, // this is actually the default and can be removed
inspectArgsMaxLen: 100,
indentationChar: ' ',
inspectOptions: {colors: true}
};
const fileFormatter = {
stdout: 'trace.out',
inspectArgsMaxLen: 0,
indentationChar: '\t'
};
const njstrace = require('njstrace').inject({
formatter: [consoleFormatter, fileFormatter]
})
const routes = require('./routes')
const {sockets} = require('./sockets')
其中routes
和sockets
是我要跟踪其方法的两个模块。但是,控制台和trace.out
中均不显示任何内容。我究竟做错了什么?另外:是否还会跟踪required
和routes
的模块sockets
?
有人使用过njsTrace
吗?有没有更好的方法来进行调试?记录比跟踪好吗?这是一个非常间歇性的错误,并且很难解决。任何建议表示赞赏。