我Node.js的項目遭受內存泄漏,我已經給變量設置爲null在關閉,我的意思是,我知道這樣的代碼:確定關閉的內存泄漏MEMWATCH節點
var a = 0;
var b = 1;
var c = 0;
example_func(c, func(){
console.log(b);
});
會引起內存泄漏,所以我添加了一些代碼來將這些變量設置爲null;
var a = 0;
var b = 1;
var c = 0;
example_func(c, func(){
console.log(b);
a = null;
b = null;
c = null;
});
但我仍然有泄漏,所以我嘗試使用memwatch-node
找出我的代碼有什麼問題。
並且結果顯示closure
引起泄漏,但未指定足夠的目標。
我已經得到了JSON這樣
{ what: 'Closure',
'+': 12521,
size: '520.52 kb',
'-': 5118,
size_bytes: 533016 },
而且我想知道如果我能得到哪些封閉漏水更具體的細節。
我已經爲所有閉包指定了名稱,但仍然無效。
這是一個對象字面值。它本身與「關閉」無關,除了它的一個屬性設置爲字符串「關閉」,這可能是'1982年達森櫻桃'。 –
那麼哪種物體會這樣做呢?我不會自己設定「關閉」。 – bxshi
是的,我很尷尬,我現在可以更好地看到你的問題。我已經進入了memwatch文檔,但在差異報告中找不到「what:'Closure'」部分的證據。 [This](https://hacks.mozilla.org/2012/11/tracking-down-memory-leaks-in-node-js-a-node-js-holiday-season/)表示會報告封閉泄漏,但不是那樣。這有點令人困惑。 –