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