1

Chrome Debugging API 1.0 ドキュメント で指定されている RemoteObjectsを参照しています。

バックグラウンド

後続の呼び出しフレームを前の呼び出しフレームに関連付けようとしています。

言ってみましょう:関数aにブレークポイントを設定しましbc、、、、d。私は以下を実行します: a(b(c(d())));

実行が一時停止し、各関数の通知を受け取り、Debugger.paused毎回再開します。通知ごとに、s のDebugger.paused配列を受け取りCallFrameます。ただし、objectIdCallFrameオブジェクトの とそのプロパティはすべて一意です。そのため、それらを比較することはできませんid

誰でもこれを行う方法を知っていますか?

IDに基づいて単一のオブジェクトでコードを実行できますが、複数のオブジェクトでコードを実行することはできないようですRuntime.callFunctionOnのでチェックのようなことはできません(たとえば)。Runtime.evaluateCallFrameA.objectX === CallFrameB.objectY

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

4

1 に答える 1

1
  1. オブジェクトの一意の ID (V8 のネイティブ デバッグ プロトコルを実装したもの) をサポートするために、Chromium または WebKit に対して問題を報告することをお勧めします。

  2. 実際には、args パラメータを介して Runtime.callFunctionOn に複数の ID を指定できます

于 2012-10-13T23:35:25.097 に答える