在EventEmitter警告之后使节点显示堆栈跟踪

spa*_*tes 13 node.js

我有这个错误:

(node:11164) Warning: Possible EventEmitter memory leak detected. 11 end listeners added. Use emitter.setMaxListeners() to increase limit
Run Code Online (Sandbox Code Playgroud)

没有给出堆栈跟踪,所以我不知道哪个事件可能是罪魁祸首.

我试图通过覆盖来解决它,console.warn但是那时的堆栈跟踪是没有用的,因为console.warn在添加监听器时没有调用,但之后有一些任意时间.

rob*_*lep 29

这与Node v6(或可能与v5)一起发生了变化.

以前,会自动显示堆栈跟踪,现在您必须自己生成一个:

process.on('warning', e => console.warn(e.stack));
Run Code Online (Sandbox Code Playgroud)

记录在这里.

  • 您还应该能够使用命令行标志“--trace-warnings”来获得相同的行为。 (3认同)