2012-02-24 13 views
6

Chromeのデバッガを使用してJSアプリケーションのコードをステップ実行するとき、私は自分自身がバックボーン/アンダースコア/ jQueryコードを見ていることがよくあります。とにかく進んでコードを通過するが、これらのライブラリの一部であるデバッガスキップコードを持っていますか?jQuery/Backbone/Underscoreコードをスキップする方法はありますか?デバッガでJSをステップ実行するときですか?

答えて

2

ほとんどのデバッガでは、(現在の関数の)「ステップアウト」があるので、スキップしたいライブラリの最上位レベルに入るたびに使用することができます。

EDIT:Btw、ステップアウトは現在の位置から現在の関数の戻り値に移動します。私はあまりデバッガを使用していないので、非同期呼び出しを持つ関数から抜け出すとどうなるかは分かりません。私はそれが関数を終了すると想像することができ、非同期呼び出しはあなたが何か他のものに歩み寄っている間、そのビジネスについて行くだろう。

+1

はい、クロムデバッガにステップアウト機能がありますが、理想的にはライブラリコードはまったく表示したくありません。見た目から外れています - そして、デバッグに関しては残念ながら私の心のスタックはかなり制限されています;) – UpTheCreek

+0

私はyaを聞いています。私はそれが可能だとは思わない、特定のデバッガが私の隠された隠し機能を提供していない限り。これは一般的なデバッガ機能ではありません。 – hayavuk

3

私はちょうどこれをやっているクロムのデバッガの中に住んで3日間過ごした。

トリックは、バックボーン/ jQuery /アンダースコアコードの次の行にブレークポイントを設定し、そこに着くときにF8を設定することです。

for(_(obj).each(function(v,k,l){ 
    console.log(k,v,l); 
}); 

同様 forラインと console行にブレークポイントを設定します。 F11キーを押してF8キーを押し、次にステッピングを続けます。

設定するのは少し難しいですが、ブレークポイントをオフに切り替えるのは、維持しやすいように設定したときに最初に設定するよりも簡単です。

+0

私は唯一の人ではないと聞いてうれしい;)面白い - 理にかなっている。私は、これが非同期/イベントベースのコードだと少し苦痛になると思います... – UpTheCreek

+0

そうです。私はバックボーンモデルのための私の検証フレームワークを接続することができます! (したがって、デバッグの時間)。 http://github.com/toddself/Backbone.Validatorファイル全体を「デバッグしないでください」とマークできればいいです... – tkone

+0

私はあなたの検証フレームワークを見ていきます - ありがとう。私たちが 'このファイルをデバッグしないでください'という要求をどこに置くのか知っていますか? – UpTheCreek

関連する問題