2017-01-22 13 views
0

ヒープ・オブジェクトをダンプするために、heapdump nodejsモジュールをインストールしました。ヒープ・ダンプの比較でオブジェクトが見つかりません

私は2つのヒープダンプを印刷してきた、

'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 

をこのコード(nodejs6.9.1)を使用します。

これらを両方ともchrome開発ツールにインポートして比較モードに切り替えると、私はobjオブジェクトを(少なくともいくつかの値で)見ることができます。

代わりに、私はそれらの値を参照してください。

(compiled code) 
(array) 
(system) 
(concatenated 
(string) 

なぜ?

EDIT:試験およびFOOプロパティダンプ差分でない: はのsetTimeoutにコードを移動し、ダンプdiffは正しく

setTimeout(() => { 
    heapdump.writeSnapshot() 
    const obj = { 
    test: 2, 
    foo: 6.4, 
    wow: true, 
    a: { } 
    } 
    heapdump.writeSnapshot() 
    console.log(obj) 
}, 1000) 

NBは、2つのオブジェクトを示しています。 [ノードheadumpを](https://github.com/bnoordhuis/node-:

+0

のための私のコメントを示しているドキュメントが示唆したように、あなたは**有効な**コールバックを使用する必要がありますheapdump)..著者は実際に** "ヒッチ" **効果を認識しています – ymz

答えて

0

このコードは、この質問

heapdump.writeSnapshot() 
const obj = { 
test: 2, 
foo: 6.4, 
wow: true, 
a: { } 
} 
heapdump.writeSnapshot(function(err, filename) { // this is the callback 
console.log(obj); 
}) 
関連する問題