Я установил модуль nodejs heapdump
, чтобы сбросить кучный объект.Объект не найден в сравнении с heapdump
Используя этот код (nodejs6.9.1),
'use strict'
const heapdump = require('heapdump')
heapdump.writeSnapshot()
const obj = {
test: 2,
foo: 6.4,
wow: true,
a: { }
}
heapdump.writeSnapshot()
console.log(obj) // <-- make sure obj lives until here
Я распечатаны две кучи отвалов.
Импортируйте оба из них в инструменты для обработки хрома и переключитесь в режим сравнения, я аспект, чтобы увидеть объект obj
по крайней мере (с некоторыми другими значениями).
Вместо этого, я вижу только те значения:
(compiled code)
(array)
(system)
(concatenated
(string)
Почему?
EDIT: перемещение кода в SetTimeout, свалка дифф показывает два объекта правильно
setTimeout(() => {
heapdump.writeSnapshot()
const obj = {
test: 2,
foo: 6.4,
wow: true,
a: { }
}
heapdump.writeSnapshot()
console.log(obj)
}, 1000)
NB: тест и Foo свойство является не самосвал дифф.
вы должны использовать действительный ** обратный вызов ** как документы предложил: [узел headump] (https://github.com/bnoordhuis/node- heapdump) .. автор действительно осознает, что ** «заминка» ** эффект – ymz