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.evaluateCallFrameA.objectX === CallFrameB.objectY
また、API を介してオブジェクトを取得し、詳細な等価性チェックを行うことが適切かどうかもわかりません。1 つの方法は、再帰Runtime.getProperties呼び出しを行い、 unique を除くすべてのプロパティの等価性をチェックすることobjectIdです。