2013-07-16 13 views
6

Eclipseでは、デバッガは各オブジェクトの隣に一意のセッションIDを表示します(JavaとAS3の場合はいずれにせよ)。これにより、複数のコンテキストで表示される同じオブジェクトを簡単に識別できます。Chromeデバッガで2つのオブジェクトが同じかどうかを確認できますか?

私はJavaScriptプロジェクトに取り組んでおり、Chromeのデバッガでオブジェクトを識別する機能(「スコープ変数」枠など)を利用したいと考えています。この情報はブラウザ/デバッガによって追跡されますか?コードを追加することなく、コンテキスト間でオブジェクトを識別する別の方法はありますか(これを行うための純粋なIDEの方法で、任意のコンテキストに適用可能です)。

+0

@ beefeatherの回答ごとに、 ttps://code.google.com/p/chromium/issues/detail?id = 263116 – ericsoco

答えて

0

JavaScriptにはメモリアドレスがありません。 "同じ変数"は、3重等号記号(anObjectReference === anotherObjectReference

+0

オブジェクトはどこかのメモリに保存する必要があります。 ChromeデバッガがVMのメモリアドレスにアクセスできるかどうかは別の質問です。 – ericsoco

+2

'==='演算子は、同一性を比較するのではなく、値と型を比較します。 –

+0

@PiotrDobrogost型または値が異なる場合、IDも異なります。そうでない場合は:(MDNを引用する)*数値以外のすべての値については、明白なセマンティクスを使用します。したがって、オブジェクトの場合、アイデンティティの平等をチェックするために必ず使用できます。 – herman

2

を使用して比較することができます。これは技術的に可能です。 Chrome Dev Tools for Java(Eclipseベースのデバッガ)を使用している場合は、おそらく既にそれを見ることができます。 http://code.google.com/p/chromedevtools

ブラウザ内デバッガでは、UIにUIが不足しているだけです。私は、あなたはこれに関する機能要求をファイルに提出するべきだと思います。 http://crbug.com

P.S.これはまったくアドレスではないことに注意してください.JavaとJavaScriptの両方がランダムな瞬間にオブジェクトをメモリ内に移動します。

+0

グーグルによると、EclipseデバッガのIDがメモリアドレスではないことが正しいと思われます。私は基本的な前提が残っていますが、私の質問を編集します....そして、Chromiumの機能/バグレポートのリンクに感謝します。 – ericsoco

1

私はこれがでクローム開発ツールを使用して可能であると信じて:サマリービューで

  • は右コンソール出力をクリックすると、コンソール
  • でオブジェクトを印刷しながら、ヒープのスナップショットと開放コンソールを撮る

    1. 「概要表示で表示」を選択する(このオプションが表示されない場合は、プロフィールパネルを開いていない可能性があります)
  • 関連する問題