首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在堆转储比较中找不到对象

在堆转储比较中找不到对象
EN

Stack Overflow用户
提问于 2017-01-23 07:51:42
回答 1查看 91关注 0票数 0

我安装了heapdump nodejs模块来转储堆对象。

使用此代码(nodejs6.9.1),

代码语言:javascript
复制
'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 dev工具中并切换到比较模式,我希望至少能看到obj对象(以及其他一些值)。

相反,我只看到这些值:

代码语言:javascript
复制
(compiled code)
(array)
(system)
(concatenated
(string)

为什么?

编辑:将代码移动到setTimeout中,转储差异正确地显示两个对象

代码语言:javascript
复制
setTimeout(() => {
  heapdump.writeSnapshot()
  const obj = {
    test: 2,
    foo: 6.4,
    wow: true,
    a: { }
  }
  heapdump.writeSnapshot()
  console.log(obj)
}, 1000)

注意: test和foo属性不在转储差异中。

EN

回答 1

Stack Overflow用户

发布于 2017-01-29 19:17:47

此代码说明了我对此问题的注释

代码语言:javascript
复制
heapdump.writeSnapshot()
 const obj = {
 test: 2,
 foo: 6.4,
 wow: true,
 a: { }
}
heapdump.writeSnapshot(function(err, filename) { // this is the callback
 console.log(obj);
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41797463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档