Chrome Debugging API 1.0 ドキュメント で指定されている RemoteObjectsを参照しています。
バックグラウンド
後続の呼び出しフレームを前の呼び出しフレームに関連付けようとしています。
言ってみましょう:関数a
にブレークポイントを設定しましb
たc
、、、、d
。私は以下を実行します:
a(b(c(d())));
実行が一時停止し、各関数の通知を受け取り、Debugger.paused
毎回再開します。通知ごとに、s のDebugger.paused
配列を受け取りCallFrame
ます。ただし、objectId
各CallFrame
オブジェクトの とそのプロパティはすべて一意です。そのため、それらを比較することはできませんid
。
誰でもこれを行う方法を知っていますか?
IDに基づいて単一のオブジェクトでコードを実行できますが、複数のオブジェクトでコードを実行することはできないようですRuntime.callFunctionOn
ので、チェックのようなことはできません(たとえば)。Runtime.evaluate
CallFrameA.objectX === CallFrameB.objectY
また、API を介してオブジェクトを取得し、詳細な等価性チェックを行うことが適切かどうかもわかりません。1 つの方法は、再帰Runtime.getProperties
呼び出しを行い、 unique を除くすべてのプロパティの等価性をチェックすることobjectId
です。