3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Google Chrome DevTools の JavaScriptエラーデバッグ

Last updated at Posted at 2020-07-17

JavaScriptの処理が思うようにいかない時、エラーに対して一つ一つをconsole.logで調べていたらあっと言う間に時間を溶かしてしまいます。

今回は自身の学習として、GoogleのToolsドキュメントを参考にデバッグをやってみました。

バグの再現

参考動画と同じ環境を用意します。
command(⌘) + option(⌥) + i でDevToolを開いてソースコードを確認します。

Screen Shot 0032-07-17 at 5.32.54.png

Sourcesの中から、JavaScriptファイルを確認。
現時点では、1 + 1 = 11 でバグってます。

今回は、クリックを起点に発火するイベントなので、Event Listener Breakpointsclickを選択した状態でcommand(⌘) + Rでページを更新します。

Screen Shot 0032-07-17 at 5.46.57.png

するとクリックで起動するfunctionがハイライトされ、一行ずつ実行しながら確かめることができるようになります。
Step over next function callを押すと、一行ずつ順番にコードを実行できます。

ブレークポイントの活用

フレーム内の行数をクリックすると、ブレークポイントが設定できます。ブレークポイントを設定した状態で実行すると、代入された変数の値や、演算処理の結果をconsole.logを使わずに見ることができます。

Screen Shot 0032-07-17 at 5.59.59.png
上記の例の場合、この結果からappend1append2に代入された値が文字列型になっていることがバグの原因とわかります。

Scope

スコープ内の状態はScopeを確認します。Scopeには、実行コンテキストの情報がある場合のみ表示されます。

Screen Shot 0032-07-17 at 13.12.27.png

Watch Expressions

Watch Expressionsは、+をクリックしてjavascriptを入力することで任意の情報を取得できます。
Screen Shot 0032-07-17 at 13.15.46.png

int型であるべき値が、String型になっていることが確認できます。

修正

Dev Tools上でバグを確認したら、そのまま修正・実行を行うことができます。

  1. Resume script execution をクリックします。

  2. Code Editor上で該当箇所を修正します。

  3. command(⌘) + s で保存します。

  4. Deactivate breakpointsをクリックします。

参考

Chrome DevTools
Youtube

3
2
0

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
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?