0

何かが発生したコードの非常に特定の部分を追跡しようとしている単一ページの Javascript を多用するアプリケーションを掘り下げています (イベントに直接結び付けられていないため、Firequery のようなツールで追跡しても効果がないことが証明されています)。

Javascript の実行を 1 つのブレークポイントで一時停止し、別のブレークポイントを設定し、スタックからプッシュおよびポップされたすべての関数のトレースをログに記録して、コードベースの特定の場所をトレースできるようにする方法があるかどうか疑問に思っていました (多くの JS ファイル) これが発生します。

ありがとう。

編集: この場合、jQuery トレース ブックマークレットはあまり役に立たないことにも注意してください。

4

2 に答える 2

3

Chrome 開発ツールでは、ブレーク ポイントを設定するF10と、目的のエンド ポイントに到達するまでコードを 1 行ずつ手動でステップ スルー ( ) できます。これにより、JS が行っているすべての処理が行われ、他のファイルを参照することもできます。

于 2012-07-06T20:54:30.947 に答える
2

おそらく、@sachleen が書いたことに従うことで、あなたが望むものをより良く達成できるでしょう。

しかし、元の質問に関して:

Firebug では、「コンソール」タブに「プロファイル」ボタンがあります。関数を実行順にリストするのではなく、関数ごとに発生した呼び出しの数の統計のみを示します。一部の関数を複数回呼び出す場合、あまり役に立たない場合があります。しかし、それは依存します。

Chrome には [プロファイル] タブがあり、出力が少し異なって表示されます [また、出力を表示する方法として、[ヘビー (ボトムアップ)] と [ツリー (トップダウン)] の 2 つの方法を選択できます]。必要に応じていずれかを選択してください。実際、Chrome の出力は私にとっては少し厄介です。

基本的に、プロファイリング自体はどちらでも同じように機能します。ボタンをクリックしてプロファイリングを開始し、完了したらもう一度クリックして停止します。

于 2012-07-07T23:48:51.400 に答える