NodeJS : How to debug “EventEmitter memory leak detected. 11 listeners added”

前端 未结 8 546
攒了一身酷
攒了一身酷 2020-11-28 20:23

How can I debug my application which throw this error:

(node) warning: possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxList         


        
8条回答
  •  攒了一身酷
    2020-11-28 20:55

    I tried to prototype the EventEmitter for adding log messages into addListener but i could not get it working

    To hook addListener you can do something like this:

    // on the first line of your main script
    var events = require("events"),
        EventEmitter = events.EventEmitter;
    
    var originalAddListener = EventEmitter.prototype.addListener;
    EventEmitter.prototype.addListener = function (type, listener) {
        if (this.listenerCount(this, type) >= 10) {
            // TODO: PLACE YOUR CODE FOR DEBUGGING HERE
        }
        originalAddListener.apply(this, arguments);
    }
    

提交回复
热议问题