0
我已经安装heapdump
nodejs模块以转储堆对象。在堆转储比较中找不到对象
使用这个代码(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
我印刷两个堆转储。
将它们两个导入到chrome开发工具并切换到比较模式,我想要至少看到obj
对象(以及其他一些值)。
相反,我看到的只是这些值:
(compiled code)
(array)
(system)
(concatenated
(string)
为什么?
编辑: 代码移动到的setTimeout,转储DIFF示出了两个对象正确
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)。作者实际上知道**“hitch”**效果 – ymz