LoginSignup
56
51

More than 5 years have passed since last update.

Chrome DevToolsでjavascriptをデバッグする際に忘れてはいけない大切な事

Last updated at Posted at 2013-07-20

Chrome DevToolsはとてもとても便利で、毎日お世話になっている神ツールです。
単純なHTMLの解析からGPUの使用具合というマニアックな情報まで色々確認出来ますが、その中でデバッグの時に設定しておく事で、ちょっとしたミスを減らして問題にすぐ気付ける設定が1つあります。

javascriptエラーが発生した場合にエラーを補足しBreakする

Sourceタブを選択した場合に、左下にメニューがあります。
kobito.1374293903.755992.png
その中の機能としてボタンっぽいkobito.1374293979.034949.pngがあります。
これを、1回クリックします。するとkobito.1374294617.406480.pngという感じで色が変わります。次にもう一度クリックします。するとkobito.1374294665.711486.pngこんな感じで色がまた変わります。

これらを設定しておくと、javascript実行時に発生したエラーをDevToolが検知してBreakしてくれるので、すぐに問題のあるコードに気がつく事が出来、ミスにすぐ気がつく事が出来ます。

Pause on Exceptionに関して

kobito.1374294617.406480.pngの状態を指します。詳細は公式サイトのPause on Exception を確認してください。
簡単に言うと例外が発生した場合にDevToolが感知して該当箇所でBreakされた状態になります。

例えばこのようなコードがあった場合、Pause on Exceptionを有効にしていればa.a();の部分とa.b()の部分でBreakされデバッガーが起動します。

<html>
  <head>
    <script type="text/javascript" charset="utf-8">

      var onFail = function() {
        a.a();
      };

      var onTryCactch = function() {
        try {
          a.b();
        } catch(e) {
          console.log(e);
        }
      };

    </script>
  </head>
  <body>
    <input type="button" name="" value="test1" onclick="onFail()">
    <input type="button" name="" value="test2" onclick="onTryCactch()">
  </body>
</html>

Pause on Uncaugh Exceptionに関して

kobito.1374294665.711486.pngの状態を指します。詳細は公式サイトのPause on Uncaugh Exception を確認してください。
簡単に言うと、try…catchで囲まれていない例外が発生した場合にDevToolが感知して該当箇所でBreakされた状態になります。

上記の例で言うと、Pause on Uncaugh Exceptionを有効にしていた場合、a.a();ではBreakされますが、a.b()ではBreakされません。

というわけで

自分の場合は、デバッグする際にはkobito.1374294665.711486.pngの状態にしておいて、予期せぬ例外が発生した場合にすぐに気がつけるようにしてあります。
なおtry…catchを検知しないようにしているのは、実装時に既に考慮しているため不要だからです。

56
51
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
56
51