現在のウェブ開発では jQuery、Ember、Angular のようなライブラリに頼ることが多く、ライブラリを実行する時間の 99% は“正しく働く”と考えても問題ありません。私たちは、これらのライブラリの内部実装を気にしません。それらは ブラックボックス のように扱います。しかし自身のコードへ達するためにスタックフレームのステップ実行を行っているとき、ライブラリから抽出されたものがデバッグセッション内に見えてしまいます。ブラックボックス化により、選択したソースの詳細をデバッガーに無視させることができます。
ソースリストペインでソースを選択して、左下にある目玉のアイコンをクリックすると、ブラックボックス化を有効または無効にできます:
開発ツールバー を開いて dbg blackbox
コマンドを使用すると、複数のソースをまとめてブラックボックス化できます:
ソースをブラックボックス化すると以下のようになります:
- すべてのブレークポイントが無効になります。
- デバッガーオプション で“例外発生で停止”が有効であるとき、デバッガーはブラックボックス化したソース内で例外が発生しても停止しません。代わりに、スタックが (存在する場合は) ブラックボックス化していないソース内にあるフレームに戻るまで待ちます。
- ステップ実行するとき、デバッガーはブラックボックス化したソースをスキップします。