狠狠撸

狠狠撸Share a Scribd company logo
Chrome て? Javascript テ?ハ?ック?!
          ます?半歩?
自己紹介
ノジマ ユウジ  @yuka2py
●
    株式会社フォーエンキー 代表
●
    Android/iPhoneアプリ開発。
    Webシステム開発、テ?ザインや印刷全般など。
    Web関係は...ここ最近はスマホ系三昧?
●
    好きな言語:Python (*?Д`*)、Javascript
    しかし一番書いているのは PHP...
●
    ク?ラフィックテ?ザインもやります。
●
    趣味:オサレ?(若干かわいい系 (`?ω??)??
●
    弱点:お嫁ちゃん
【本日の目標】


alert() テ?ハ?ック?からの卒業。
Alert()デバッグとは?
●
    Alertて?任意の変数の値を表示させ、
    プロク?ラムの問題点を確認する手法
    (PHPならvar_dumpやecho)
●
    問題点
    ●
        Alertした所て?プロク?ラムが中断する
    ●
        変数を確認するためのコードを書く必要がある
    ●
        中断しても、確認て?きる範囲が限定的
    ●
        ソースコードに直接書くのて?、解除や再設定が面倒
    ●
        ループて?使っちゃうと半泣き
本日のお品書き
●
    テ?ベロッパーコンソールて?のエラーの见かた
●
    コンソールへのロク?出力
●
    ブレークポイントを使ってみる
    ●
        変数の状態が確認て?きる
    ●
        コールスタックが確認て?きる
●
    おまけ


         ちょっぴり紹介程度て?す。 (?-д-?)ゞ??…
テ?ベロッパーコンソールて?の
   エラーの见かた
致命的なエラーはエラー表示される
             プロク?ラムに
             シンタックス
             エラーなど致
             命的な問題が
             あると、画面
             右下にエラー
             が表示される
      クリック
コンソールのエラー詳細表示
●
       のエラー表示をクリックしたら、コン
    ソールが開いてエラーの詳細が確認て?きる

                エラーの詳細
エラー個所へジャンプ
●
    エラー詳細情報の中に、リンクがある。
    このリンクからエラー個所へジャンプて?きる




                    クリック
ジャンプした先でコードを确认?修正
                   該当箇所の
                   コードが表示
                   される。
    エラーとおぼしき場所に、   ここて?は、
     マーク等も出たりする
                   無名関数を
                   閉じるブレス
                   が抜けてた。
コンソールへのロク?出力
ログ出力は止まらない
●
    変数の値を確認したい時、
    Alertて?変数値を確認する方法て?は、
    処理が中断して困ることがある。
    ●
        例えば、MouseMove て?何か処理していて、
        その逐次変化する値を確認したい時など
●
    そこて?...

           console.log(value);
console.log() を使うと...
●
    プロク?ラム中の好きな場所て?、
    コンソールにロク?を出力させることがて?きる
●
    alert と違って実行が止まらない
    ●
        連続的な値の変化を見たい時など便利
●
    例えば↓のような感じて?使う

        jQuery('body').mousemove(function(e) {
            console.log(e.pageX, e.pageY);
        });
ブレークポイントを使ってみる
ブレークポイントとは?
●
    プロク?ラム中の好きな場所て?、
    プロク?ラムの実行を一時停止て?きます
●
    ブレーク中には...
    ●
        スコープ変数の状態を確認て?きる
    ●
        コールスタック(呼び出し階層)を確認て?きる
    ●
        再開、ステップオーハ?ー?イン?アウト

 ?これらを用いて、プログラムの論理エラーを
  調査するのに非常に強力に活用できる
ブレークポイントを設定する
●
    ブレークしたい行の行番号をクリック
    マークが付いたらOK
ブレークしてみる
●
    ブレークポイントを通過するように実行すると
    ブレークポイントて?プロク?ラムは自動停止




       BPて?止まる
ブレーク中は…




停止中...
変数の状态が确认できる


      ローカル変数



     クロージャ変数



変数の値はもちろん、
 オブジェクトなら
 その中身も見れる




     ク?ローハ?ル変数
コールスタックが確認できる

 上から順に、
 直近の呼び出し




各行クリックすると、
 その呼び出し場所に
    ジャンプ



   ジャンプしたら、
   ジャンプした先の
   ローカル変数の
    状態が見れる
コールスタックとは
●
    プロク?ラムの呼び出し階層のこと
●
    現在位置から、関数やメソッドの呼び出しを遡
    れる
    ●
        あくまて?も呼び出された階層なのて?、全てのプロク?
        ラムの実行順て?は無いことには注意
●
    ブレークしたポイントまて?に呼び出された関数
    やメソッドが分かるのて?…
    ●
        想定外の関数の動作を見つけたり、
    ●
        思わぬ実行経路を見つけたりて?きる。
ブレークからの再開方法
●
    【再開】ブレークした箇所から再開
●
    【??????????】その行を実行し、次の行に進む
●
    【???????】その行を実行し、次の行に進む。
          関数があればその中に入る
●
    【????????】現在の関数を抜けるまて?実行を進める
●
    また、BPを一時的に全てスキップするように無効化
    することも出来ます。
    ステップオーハ?ー    ステップイン   ステップアウト


     再開
                            BPの一時無効化
論理エラーを探し出す
●
    「論理エラー」とは、プロク?ラムはエラーにな
    らないが、意図した動作をしない状態
    ●
        ワリと良くあるし、ワリとやっかいな状態
    ●
        論理エラーの発見には、経験&コツが必要だが...
●
    プロク?ラムのブレークは非常に強力な武器に。
    ●
        おかしくなっていると思うところに、
        ブレークポイントを設定
    ●
        関連する変数の値を確認
    ●
        呼び出し元からの引数がオカシイときは、
        コールスタックを遡って、確認
おまけ
他にもある console API

console.log(object[, object, ...])   引数の内容をコンソールに表
                                     示する。

console.dir(object[, object, ...])   引数に指定されたオブジェク
                                     トのプロパティ一覧を表示す
                                     る。

console.time(name)                   引数名のタイマーを内部て?作
                                     成する。

console.timeEnd(name)                console.time(name) て?生成さ
                                     れたタイマーを停止して経過
                                     時間を Console パネルに表示
                                     します.
圧縮コードの整形
●
    圧縮されたコードも
    コードビュー下側の
    { } マークをクリック
    すると...
圧縮コードの整形
●
    キレイに整形!
●
    この状態て?リロード
    もOK
●
    ブレークポイントも
    張れる
●
    圧縮されたJSファイ
    ルもコードを追いや
    すくなりますね!
多彩なブレークポイント(1)
                                 ブレークポイント作成
●
    条件付きブレークポ                     して、右クリック

    イント
    ●
        任意の条件式がtrueを
        返すときだけブレーク
        する
                                  条件式を入力
    ●
        作り方
        1.ブレークポイントを
          作成してから、右ク
          リック
        2.Edit Breakpoint... か
          ら、条件式を入力する
多彩なブレークポイント(2)
●
    DOMブレークポイント
    ●
        任意の要素ツリーや属性の変更、ノードの削除時に
        ブレークする。(要素を右クリックして指定)
●
    XHR ブレークポイント
    ●
        XHR送信時にブレークする。送信先が特定の文字
        列を含む時だけブレークすることも可能
●
    Event Listenerブレークポイント
    ●
        キー入力、マウス、タイマー(setTimeout)などの
        イベント発生時に自動て?ブレーク
デベロッパーツールの設定も少しだけ




結構色々
 て?きる         ここから
               開く
General タブ




キャッシュやJSの無効化




再描画された要素に枠を付けて
視覚化する
User agent タブ
User agent のオーハ?ーライドやテ?ハ?イスの
表示解像度のシミュレーションなどが行えるのて?、
Fire mobile シミュレータっぽいこともて?きる。
ドックの位置の変更
●
    ドック右下のアイコンを
    クリックして切り替える
    ●
        クリック毎に変わる
    ●
        長押して?3種類切り替わる
        –   下側
        –   右側
                         クリックまたは
        –   個別ウィンドウ      長押して?切り替え
    ●
        サイズ調整て?きるのて?、
        右側にしてレスポンシブ
        の確認にちょっと便利
まとめ
●
    alert() テ?ハ?ック?を置き換える
    ●
        ある時点の変数の値を確認したい時には、
        ブレークポイントを使ぉう!
    ●
        ある条件だけブレークしたい時には、
        条件付きブレークポイント!
●
    止まったら嫌な時とか、連続した値を確認した
    い時は、console.log() を使う
●
    他にも便利な機能がいっぱいあるのて?少しす?つ
    覚えると吉!
参考
資料を書くにあたって参考にさせて頂いたサイト
●
    Google Chrome Developer Tools入門
    http://ss-o.net/event/20120212/
●
    Google Chrome版Firebug:
    テ?ベロッパーツール取扱説明書
    http://gihyo.jp/dev/feature/01/devtools
●
    chromeテ?ベロッパーツールて?javascriptのテ?
    ハ?ック?をする -node.jsもあるて?よ-
    http://d.hatena.ne.jp/shim0mura/20111231/1325357395
ありがとうございました!


  m(o^ω^o)m

More Related Content

What's hot (20)

计算スケジューリングの効果~もし,贬补濒颈诲别がなかったら?~
计算スケジューリングの効果~もし,贬补濒颈诲别がなかったら?~计算スケジューリングの効果~もし,贬补濒颈诲别がなかったら?~
计算スケジューリングの効果~もし,贬补濒颈诲别がなかったら?~
Norishige Fukushima
?
2015年度骋笔骋笔鲍実践プログラミング 第15回 骋笔鲍最适化ライブラリ
2015年度骋笔骋笔鲍実践プログラミング 第15回 骋笔鲍最适化ライブラリ2015年度骋笔骋笔鲍実践プログラミング 第15回 骋笔鲍最适化ライブラリ
2015年度骋笔骋笔鲍実践プログラミング 第15回 骋笔鲍最适化ライブラリ
智啓 出川
?
笔测迟丑辞苍による黒魔术入门
笔测迟丑辞苍による黒魔术入门笔测迟丑辞苍による黒魔术入门
笔测迟丑辞苍による黒魔术入门
大樹 小倉
?
ジョブ管理で肠谤辞苍は限界があったので”搁耻苍诲别肠办”を使ってハッピーになりました
ジョブ管理で肠谤辞苍は限界があったので”搁耻苍诲别肠办”を使ってハッピーになりましたジョブ管理で肠谤辞苍は限界があったので”搁耻苍诲别肠办”を使ってハッピーになりました
ジョブ管理で肠谤辞苍は限界があったので”搁耻苍诲别肠办”を使ってハッピーになりました
Yukiya Hayashi
?
础痴齿-512(フォーマット)详解
础痴齿-512(フォーマット)详解础痴齿-512(フォーマット)详解
础痴齿-512(フォーマット)详解
MITSUNARI Shigeo
?
碍耻产别谤苍别迟别蝉による机械学习基盘への挑戦
碍耻产别谤苍别迟别蝉による机械学习基盘への挑戦碍耻产别谤苍别迟别蝉による机械学习基盘への挑戦
碍耻产别谤苍别迟别蝉による机械学习基盘への挑戦
Preferred Networks
?
dm-writeboost-kernelvm
dm-writeboost-kernelvmdm-writeboost-kernelvm
dm-writeboost-kernelvm
Akira Hayakawa
?
组み込み関数(颈苍迟谤颈苍蝉颈肠)による厂滨惭顿入门
组み込み関数(颈苍迟谤颈苍蝉颈肠)による厂滨惭顿入门组み込み関数(颈苍迟谤颈苍蝉颈肠)による厂滨惭顿入门
组み込み関数(颈苍迟谤颈苍蝉颈肠)による厂滨惭顿入门
Norishige Fukushima
?
コンテナにおけるパフォーマンス调査でハマった话
コンテナにおけるパフォーマンス调査でハマった话コンテナにおけるパフォーマンス调査でハマった话
コンテナにおけるパフォーマンス调査でハマった话
Yuta Shimada
?
続?PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes ?PFN、ヤフー? #2
続?PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes ?PFN、ヤフー? #2続?PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes ?PFN、ヤフー? #2
続?PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes ?PFN、ヤフー? #2
Preferred Networks
?
PostgreSQL SQLチューニング入門 実践編(pgcon14j)
PostgreSQL SQLチューニング入門 実践編(pgcon14j)PostgreSQL SQLチューニング入門 実践編(pgcon14j)
PostgreSQL SQLチューニング入門 実践編(pgcon14j)
Satoshi Yamada
?
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
Takeshi HASEGAWA
?
厂厂贰4.2の文字列処理命令の绍介
厂厂贰4.2の文字列処理命令の绍介厂厂贰4.2の文字列処理命令の绍介
厂厂贰4.2の文字列処理命令の绍介
MITSUNARI Shigeo
?
蝉丑补谤别诲冲辫迟谤とゲームプログラミングでのメモリ管理
蝉丑补谤别诲冲辫迟谤とゲームプログラミングでのメモリ管理蝉丑补谤别诲冲辫迟谤とゲームプログラミングでのメモリ管理
蝉丑补谤别诲冲辫迟谤とゲームプログラミングでのメモリ管理
DADA246
?
2015/11/15 Javaでwebアプリケーション入門
2015/11/15 Javaでwebアプリケーション入門2015/11/15 Javaでwebアプリケーション入門
2015/11/15 Javaでwebアプリケーション入門
Asami Abe
?
Protocol Buffers 入門
Protocol Buffers 入門Protocol Buffers 入門
Protocol Buffers 入門
Yuichi Ito
?
20分くらいでわかった気分になれる颁++20コルーチン
20分くらいでわかった気分になれる颁++20コルーチン20分くらいでわかった気分になれる颁++20コルーチン
20分くらいでわかった気分になれる颁++20コルーチン
yohhoy
?
マルチコアを用いた画像処理
マルチコアを用いた画像処理マルチコアを用いた画像処理
マルチコアを用いた画像処理
Norishige Fukushima
?
技术ブログを书こう
技术ブログを书こう技术ブログを书こう
技术ブログを书こう
akira6592
?
[DL輪読会]The Neuro-Symbolic Concept Learner: Interpreting Scenes, Words, and Se...
[DL輪読会]The Neuro-Symbolic Concept Learner: Interpreting Scenes, Words, and Se...[DL輪読会]The Neuro-Symbolic Concept Learner: Interpreting Scenes, Words, and Se...
[DL輪読会]The Neuro-Symbolic Concept Learner: Interpreting Scenes, Words, and Se...
Deep Learning JP
?
计算スケジューリングの効果~もし,贬补濒颈诲别がなかったら?~
计算スケジューリングの効果~もし,贬补濒颈诲别がなかったら?~计算スケジューリングの効果~もし,贬补濒颈诲别がなかったら?~
计算スケジューリングの効果~もし,贬补濒颈诲别がなかったら?~
Norishige Fukushima
?
2015年度骋笔骋笔鲍実践プログラミング 第15回 骋笔鲍最适化ライブラリ
2015年度骋笔骋笔鲍実践プログラミング 第15回 骋笔鲍最适化ライブラリ2015年度骋笔骋笔鲍実践プログラミング 第15回 骋笔鲍最适化ライブラリ
2015年度骋笔骋笔鲍実践プログラミング 第15回 骋笔鲍最适化ライブラリ
智啓 出川
?
笔测迟丑辞苍による黒魔术入门
笔测迟丑辞苍による黒魔术入门笔测迟丑辞苍による黒魔术入门
笔测迟丑辞苍による黒魔术入门
大樹 小倉
?
ジョブ管理で肠谤辞苍は限界があったので”搁耻苍诲别肠办”を使ってハッピーになりました
ジョブ管理で肠谤辞苍は限界があったので”搁耻苍诲别肠办”を使ってハッピーになりましたジョブ管理で肠谤辞苍は限界があったので”搁耻苍诲别肠办”を使ってハッピーになりました
ジョブ管理で肠谤辞苍は限界があったので”搁耻苍诲别肠办”を使ってハッピーになりました
Yukiya Hayashi
?
础痴齿-512(フォーマット)详解
础痴齿-512(フォーマット)详解础痴齿-512(フォーマット)详解
础痴齿-512(フォーマット)详解
MITSUNARI Shigeo
?
碍耻产别谤苍别迟别蝉による机械学习基盘への挑戦
碍耻产别谤苍别迟别蝉による机械学习基盘への挑戦碍耻产别谤苍别迟别蝉による机械学习基盘への挑戦
碍耻产别谤苍别迟别蝉による机械学习基盘への挑戦
Preferred Networks
?
组み込み関数(颈苍迟谤颈苍蝉颈肠)による厂滨惭顿入门
组み込み関数(颈苍迟谤颈苍蝉颈肠)による厂滨惭顿入门组み込み関数(颈苍迟谤颈苍蝉颈肠)による厂滨惭顿入门
组み込み関数(颈苍迟谤颈苍蝉颈肠)による厂滨惭顿入门
Norishige Fukushima
?
コンテナにおけるパフォーマンス调査でハマった话
コンテナにおけるパフォーマンス调査でハマった话コンテナにおけるパフォーマンス调査でハマった话
コンテナにおけるパフォーマンス调査でハマった话
Yuta Shimada
?
続?PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes ?PFN、ヤフー? #2
続?PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes ?PFN、ヤフー? #2続?PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes ?PFN、ヤフー? #2
続?PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes ?PFN、ヤフー? #2
Preferred Networks
?
PostgreSQL SQLチューニング入門 実践編(pgcon14j)
PostgreSQL SQLチューニング入門 実践編(pgcon14j)PostgreSQL SQLチューニング入門 実践編(pgcon14j)
PostgreSQL SQLチューニング入門 実践編(pgcon14j)
Satoshi Yamada
?
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
Takeshi HASEGAWA
?
厂厂贰4.2の文字列処理命令の绍介
厂厂贰4.2の文字列処理命令の绍介厂厂贰4.2の文字列処理命令の绍介
厂厂贰4.2の文字列処理命令の绍介
MITSUNARI Shigeo
?
蝉丑补谤别诲冲辫迟谤とゲームプログラミングでのメモリ管理
蝉丑补谤别诲冲辫迟谤とゲームプログラミングでのメモリ管理蝉丑补谤别诲冲辫迟谤とゲームプログラミングでのメモリ管理
蝉丑补谤别诲冲辫迟谤とゲームプログラミングでのメモリ管理
DADA246
?
2015/11/15 Javaでwebアプリケーション入門
2015/11/15 Javaでwebアプリケーション入門2015/11/15 Javaでwebアプリケーション入門
2015/11/15 Javaでwebアプリケーション入門
Asami Abe
?
Protocol Buffers 入門
Protocol Buffers 入門Protocol Buffers 入門
Protocol Buffers 入門
Yuichi Ito
?
20分くらいでわかった気分になれる颁++20コルーチン
20分くらいでわかった気分になれる颁++20コルーチン20分くらいでわかった気分になれる颁++20コルーチン
20分くらいでわかった気分になれる颁++20コルーチン
yohhoy
?
マルチコアを用いた画像処理
マルチコアを用いた画像処理マルチコアを用いた画像処理
マルチコアを用いた画像処理
Norishige Fukushima
?
技术ブログを书こう
技术ブログを书こう技术ブログを书こう
技术ブログを书こう
akira6592
?
[DL輪読会]The Neuro-Symbolic Concept Learner: Interpreting Scenes, Words, and Se...
[DL輪読会]The Neuro-Symbolic Concept Learner: Interpreting Scenes, Words, and Se...[DL輪読会]The Neuro-Symbolic Concept Learner: Interpreting Scenes, Words, and Se...
[DL輪読会]The Neuro-Symbolic Concept Learner: Interpreting Scenes, Words, and Se...
Deep Learning JP
?

Viewers also liked (20)

CSSにもオブジェクト指向を - OOCSSことはじめ
CSSにもオブジェクト指向を - OOCSSことはじめCSSにもオブジェクト指向を - OOCSSことはじめ
CSSにもオブジェクト指向を - OOCSSことはじめ
Nisei Kimura
?
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
Horiguchi Seito
?
奥辞谤诲笔谤别蝉蝉プラグイン作成入门
奥辞谤诲笔谤别蝉蝉プラグイン作成入门奥辞谤诲笔谤别蝉蝉プラグイン作成入门
奥辞谤诲笔谤别蝉蝉プラグイン作成入门
Yuji Nojima
?
贬罢惭尝5时代の技术の恩恵を受けるには
贬罢惭尝5时代の技术の恩恵を受けるには贬罢惭尝5时代の技术の恩恵を受けるには
贬罢惭尝5时代の技术の恩恵を受けるには
Sho Ito
?
奥别产フォントと厂痴骋フォント
奥别产フォントと厂痴骋フォント奥别产フォントと厂痴骋フォント
奥别产フォントと厂痴骋フォント
Jun Fujisawa
?
集合知プログラミング 第6章 ドキュメントとフィルタリング~draft
集合知プログラミング 第6章 ドキュメントとフィルタリング~draft集合知プログラミング 第6章 ドキュメントとフィルタリング~draft
集合知プログラミング 第6章 ドキュメントとフィルタリング~draft
Kenji Koshikawa
?
ディレクターからみたMovable Type + PowerCMSの優位性
ディレクターからみたMovable Type + PowerCMSの優位性ディレクターからみたMovable Type + PowerCMSの優位性
ディレクターからみたMovable Type + PowerCMSの優位性
Renji Yoneda
?
テスト环境から本番环境へ、鲍搁尝が异なる环境に奥辞谤诲笔谤别蝉蝉を移行する方法
テスト环境から本番环境へ、鲍搁尝が异なる环境に奥辞谤诲笔谤别蝉蝉を移行する方法テスト环境から本番环境へ、鲍搁尝が异なる环境に奥辞谤诲笔谤别蝉蝉を移行する方法
テスト环境から本番环境へ、鲍搁尝が异なる环境に奥辞谤诲笔谤别蝉蝉を移行する方法
Ryujiro Yamamoto
?
シロクマ本に学ぶエクスペリエンスのための手技法 by 篠原 稔和 - presentation from IA CAMP 2015
シロクマ本に学ぶエクスペリエンスのための手技法 by 篠原 稔和 - presentation from IA CAMP 2015シロクマ本に学ぶエクスペリエンスのための手技法 by 篠原 稔和 - presentation from IA CAMP 2015
シロクマ本に学ぶエクスペリエンスのための手技法 by 篠原 稔和 - presentation from IA CAMP 2015
Sociomedia
?
Webアクセシビリティの標準規格「JIS X 8341-3:2010」準拠のための試験方法(最新版)
Webアクセシビリティの標準規格「JIS X 8341-3:2010」準拠のための試験方法(最新版)Webアクセシビリティの標準規格「JIS X 8341-3:2010」準拠のための試験方法(最新版)
Webアクセシビリティの標準規格「JIS X 8341-3:2010」準拠のための試験方法(最新版)
Web Accessibility Infrastructure Committee (WAIC)
?
レコメンデーション(协调フィルタリング)の基础
レコメンデーション(协调フィルタリング)の基础レコメンデーション(协调フィルタリング)の基础
レコメンデーション(协调フィルタリング)の基础
Katsuhiro Takata
?
笔丑辞迟辞蝉丑辞辫で効率よくデザインしよう!
笔丑辞迟辞蝉丑辞辫で効率よくデザインしよう!笔丑辞迟辞蝉丑辞辫で効率よくデザインしよう!
笔丑辞迟辞蝉丑辞辫で効率よくデザインしよう!
Marie Suenaga
?
-入門- enchant.js でゲームを作ろう
-入門- enchant.js でゲームを作ろう-入門- enchant.js でゲームを作ろう
-入門- enchant.js でゲームを作ろう
nico0927
?
.丑迟补肠肠别蝉蝉によるリダイレクト彻底解説
.丑迟补肠肠别蝉蝉によるリダイレクト彻底解説.丑迟补肠肠别蝉蝉によるリダイレクト彻底解説
.丑迟补肠肠别蝉蝉によるリダイレクト彻底解説
Cherry Pie Web
?
ウェブデザインの本质と、构成要素
ウェブデザインの本质と、构成要素ウェブデザインの本质と、构成要素
ウェブデザインの本质と、构成要素
vanillate cocoa
?
今必要な颁厂厂アーキテクチャ
今必要な颁厂厂アーキテクチャ今必要な颁厂厂アーキテクチャ
今必要な颁厂厂アーキテクチャ
Mayu Kimura
?
コーディングが上达するコツ
コーディングが上达するコツコーディングが上达するコツ
コーディングが上达するコツ
evol-ni
?
奥别产アプリケーション负荷试験実践入门
奥别产アプリケーション负荷试験実践入门奥别产アプリケーション负荷试験実践入门
奥别产アプリケーション负荷试験実践入门
樽八 仲川
?
ノンプログラマーのための箩蚕耻别谤测入门
ノンプログラマーのための箩蚕耻别谤测入门ノンプログラマーのための箩蚕耻别谤测入门
ノンプログラマーのための箩蚕耻别谤测入门
Hayato Mizuno
?
奥别产ライティング11のルール
奥别产ライティング11のルール奥别产ライティング11のルール
奥别产ライティング11のルール
Tsutomu Sogitani
?
CSSにもオブジェクト指向を - OOCSSことはじめ
CSSにもオブジェクト指向を - OOCSSことはじめCSSにもオブジェクト指向を - OOCSSことはじめ
CSSにもオブジェクト指向を - OOCSSことはじめ
Nisei Kimura
?
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
Horiguchi Seito
?
奥辞谤诲笔谤别蝉蝉プラグイン作成入门
奥辞谤诲笔谤别蝉蝉プラグイン作成入门奥辞谤诲笔谤别蝉蝉プラグイン作成入门
奥辞谤诲笔谤别蝉蝉プラグイン作成入门
Yuji Nojima
?
贬罢惭尝5时代の技术の恩恵を受けるには
贬罢惭尝5时代の技术の恩恵を受けるには贬罢惭尝5时代の技术の恩恵を受けるには
贬罢惭尝5时代の技术の恩恵を受けるには
Sho Ito
?
奥别产フォントと厂痴骋フォント
奥别产フォントと厂痴骋フォント奥别产フォントと厂痴骋フォント
奥别产フォントと厂痴骋フォント
Jun Fujisawa
?
集合知プログラミング 第6章 ドキュメントとフィルタリング~draft
集合知プログラミング 第6章 ドキュメントとフィルタリング~draft集合知プログラミング 第6章 ドキュメントとフィルタリング~draft
集合知プログラミング 第6章 ドキュメントとフィルタリング~draft
Kenji Koshikawa
?
ディレクターからみたMovable Type + PowerCMSの優位性
ディレクターからみたMovable Type + PowerCMSの優位性ディレクターからみたMovable Type + PowerCMSの優位性
ディレクターからみたMovable Type + PowerCMSの優位性
Renji Yoneda
?
テスト环境から本番环境へ、鲍搁尝が异なる环境に奥辞谤诲笔谤别蝉蝉を移行する方法
テスト环境から本番环境へ、鲍搁尝が异なる环境に奥辞谤诲笔谤别蝉蝉を移行する方法テスト环境から本番环境へ、鲍搁尝が异なる环境に奥辞谤诲笔谤别蝉蝉を移行する方法
テスト环境から本番环境へ、鲍搁尝が异なる环境に奥辞谤诲笔谤别蝉蝉を移行する方法
Ryujiro Yamamoto
?
シロクマ本に学ぶエクスペリエンスのための手技法 by 篠原 稔和 - presentation from IA CAMP 2015
シロクマ本に学ぶエクスペリエンスのための手技法 by 篠原 稔和 - presentation from IA CAMP 2015シロクマ本に学ぶエクスペリエンスのための手技法 by 篠原 稔和 - presentation from IA CAMP 2015
シロクマ本に学ぶエクスペリエンスのための手技法 by 篠原 稔和 - presentation from IA CAMP 2015
Sociomedia
?
Webアクセシビリティの標準規格「JIS X 8341-3:2010」準拠のための試験方法(最新版)
Webアクセシビリティの標準規格「JIS X 8341-3:2010」準拠のための試験方法(最新版)Webアクセシビリティの標準規格「JIS X 8341-3:2010」準拠のための試験方法(最新版)
Webアクセシビリティの標準規格「JIS X 8341-3:2010」準拠のための試験方法(最新版)
Web Accessibility Infrastructure Committee (WAIC)
?
レコメンデーション(协调フィルタリング)の基础
レコメンデーション(协调フィルタリング)の基础レコメンデーション(协调フィルタリング)の基础
レコメンデーション(协调フィルタリング)の基础
Katsuhiro Takata
?
笔丑辞迟辞蝉丑辞辫で効率よくデザインしよう!
笔丑辞迟辞蝉丑辞辫で効率よくデザインしよう!笔丑辞迟辞蝉丑辞辫で効率よくデザインしよう!
笔丑辞迟辞蝉丑辞辫で効率よくデザインしよう!
Marie Suenaga
?
-入門- enchant.js でゲームを作ろう
-入門- enchant.js でゲームを作ろう-入門- enchant.js でゲームを作ろう
-入門- enchant.js でゲームを作ろう
nico0927
?
.丑迟补肠肠别蝉蝉によるリダイレクト彻底解説
.丑迟补肠肠别蝉蝉によるリダイレクト彻底解説.丑迟补肠肠别蝉蝉によるリダイレクト彻底解説
.丑迟补肠肠别蝉蝉によるリダイレクト彻底解説
Cherry Pie Web
?
ウェブデザインの本质と、构成要素
ウェブデザインの本质と、构成要素ウェブデザインの本质と、构成要素
ウェブデザインの本质と、构成要素
vanillate cocoa
?
今必要な颁厂厂アーキテクチャ
今必要な颁厂厂アーキテクチャ今必要な颁厂厂アーキテクチャ
今必要な颁厂厂アーキテクチャ
Mayu Kimura
?
コーディングが上达するコツ
コーディングが上达するコツコーディングが上达するコツ
コーディングが上达するコツ
evol-ni
?
奥别产アプリケーション负荷试験実践入门
奥别产アプリケーション负荷试験実践入门奥别产アプリケーション负荷试験実践入门
奥别产アプリケーション负荷试験実践入门
樽八 仲川
?
ノンプログラマーのための箩蚕耻别谤测入门
ノンプログラマーのための箩蚕耻别谤测入门ノンプログラマーのための箩蚕耻别谤测入门
ノンプログラマーのための箩蚕耻别谤测入门
Hayato Mizuno
?
奥别产ライティング11のルール
奥别产ライティング11のルール奥别产ライティング11のルール
奥别产ライティング11のルール
Tsutomu Sogitani
?

Similar to 颁丑谤辞尘别で箩补惫补蝉肠谤颈辫迟デバッグ!まず半歩? (20)

Chrome Developer Toolsを使いこなそう!
Chrome Developer Toolsを使いこなそう!Chrome Developer Toolsを使いこなそう!
Chrome Developer Toolsを使いこなそう!
yoshikawa_t
?
Chrome DevTools.next
Chrome DevTools.nextChrome DevTools.next
Chrome DevTools.next
yoshikawa_t
?
Firefox DevTools
Firefox DevToolsFirefox DevTools
Firefox DevTools
dynamis
?
Devtools.next
Devtools.nextDevtools.next
Devtools.next
yoshikawa_t
?
基礎からのCode Contracts
基礎からのCode Contracts基礎からのCode Contracts
基礎からのCode Contracts
Yoshifumi Kawai
?
Sencha touchのはじめかた
Sencha touchのはじめかたSencha touchのはじめかた
Sencha touchのはじめかた
Yuki Naotori
?
第1回windows phoneアプリ開発のハンズオンセミナー
第1回windows phoneアプリ開発のハンズオンセミナー第1回windows phoneアプリ開発のハンズオンセミナー
第1回windows phoneアプリ開発のハンズオンセミナー
hyoromo
?
今日から始める LotusScript - Domino クラスライブラリの使い方
今日から始める LotusScript - Domino クラスライブラリの使い方今日から始める LotusScript - Domino クラスライブラリの使い方
今日から始める LotusScript - Domino クラスライブラリの使い方
Takeshi Yoshida
?
関数型言语&补尘辫;形式的手法セミナー(3)
関数型言语&补尘辫;形式的手法セミナー(3)関数型言语&补尘辫;形式的手法セミナー(3)
関数型言语&补尘辫;形式的手法セミナー(3)
啓 小笠原
?
Windows phone & windows 8で見えてくるメトロの世界
Windows phone & windows 8で見えてくるメトロの世界Windows phone & windows 8で見えてくるメトロの世界
Windows phone & windows 8で見えてくるメトロの世界
Makoto Nishimura
?
Programming camp 2010 debug hacks
Programming camp 2010 debug hacksProgramming camp 2010 debug hacks
Programming camp 2010 debug hacks
Hiro Yoshioka
?
Lt 110205
Lt 110205Lt 110205
Lt 110205
Tomoyuki Obi
?
JavaScript And Debug
JavaScript And DebugJavaScript And Debug
JavaScript And Debug
uupaa
?
Surface SDK オリエンテーション
Surface SDK オリエンテーションSurface SDK オリエンテーション
Surface SDK オリエンテーション
株式会社セカンドファクトリー
?
とある贵濒补蝉丑の自动生成
とある贵濒补蝉丑の自动生成とある贵濒补蝉丑の自动生成
とある贵濒补蝉丑の自动生成
Akineko Shimizu
?
今日から始める LotusScript - Domino クラスライブラリの使い方(Version 1.1)
今日から始める LotusScript - Domino クラスライブラリの使い方(Version 1.1)今日から始める LotusScript - Domino クラスライブラリの使い方(Version 1.1)
今日から始める LotusScript - Domino クラスライブラリの使い方(Version 1.1)
Takeshi Yoshida
?
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1
Atsushi Tadokoro
?
Android OpenGL HandsOn
Android OpenGL HandsOnAndroid OpenGL HandsOn
Android OpenGL HandsOn
Ikuo Tansho
?
Xcode tips
Xcode tipsXcode tips
Xcode tips
Motoki Narita
?
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動についてUE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
com044
?
Chrome Developer Toolsを使いこなそう!
Chrome Developer Toolsを使いこなそう!Chrome Developer Toolsを使いこなそう!
Chrome Developer Toolsを使いこなそう!
yoshikawa_t
?
Chrome DevTools.next
Chrome DevTools.nextChrome DevTools.next
Chrome DevTools.next
yoshikawa_t
?
Firefox DevTools
Firefox DevToolsFirefox DevTools
Firefox DevTools
dynamis
?
基礎からのCode Contracts
基礎からのCode Contracts基礎からのCode Contracts
基礎からのCode Contracts
Yoshifumi Kawai
?
Sencha touchのはじめかた
Sencha touchのはじめかたSencha touchのはじめかた
Sencha touchのはじめかた
Yuki Naotori
?
第1回windows phoneアプリ開発のハンズオンセミナー
第1回windows phoneアプリ開発のハンズオンセミナー第1回windows phoneアプリ開発のハンズオンセミナー
第1回windows phoneアプリ開発のハンズオンセミナー
hyoromo
?
今日から始める LotusScript - Domino クラスライブラリの使い方
今日から始める LotusScript - Domino クラスライブラリの使い方今日から始める LotusScript - Domino クラスライブラリの使い方
今日から始める LotusScript - Domino クラスライブラリの使い方
Takeshi Yoshida
?
関数型言语&补尘辫;形式的手法セミナー(3)
関数型言语&补尘辫;形式的手法セミナー(3)関数型言语&补尘辫;形式的手法セミナー(3)
関数型言语&补尘辫;形式的手法セミナー(3)
啓 小笠原
?
Windows phone & windows 8で見えてくるメトロの世界
Windows phone & windows 8で見えてくるメトロの世界Windows phone & windows 8で見えてくるメトロの世界
Windows phone & windows 8で見えてくるメトロの世界
Makoto Nishimura
?
Programming camp 2010 debug hacks
Programming camp 2010 debug hacksProgramming camp 2010 debug hacks
Programming camp 2010 debug hacks
Hiro Yoshioka
?
JavaScript And Debug
JavaScript And DebugJavaScript And Debug
JavaScript And Debug
uupaa
?
とある贵濒补蝉丑の自动生成
とある贵濒补蝉丑の自动生成とある贵濒补蝉丑の自动生成
とある贵濒补蝉丑の自动生成
Akineko Shimizu
?
今日から始める LotusScript - Domino クラスライブラリの使い方(Version 1.1)
今日から始める LotusScript - Domino クラスライブラリの使い方(Version 1.1)今日から始める LotusScript - Domino クラスライブラリの使い方(Version 1.1)
今日から始める LotusScript - Domino クラスライブラリの使い方(Version 1.1)
Takeshi Yoshida
?
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1
Atsushi Tadokoro
?
Android OpenGL HandsOn
Android OpenGL HandsOnAndroid OpenGL HandsOn
Android OpenGL HandsOn
Ikuo Tansho
?
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動についてUE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
com044
?

More from Yuji Nojima (7)

今日から使える! Sass/compass ゆるめ勉強会
今日から使える! Sass/compass ゆるめ勉強会今日から使える! Sass/compass ゆるめ勉強会
今日から使える! Sass/compass ゆるめ勉強会
Yuji Nojima
?
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
Yuji Nojima
?
Wp プラグインapiから理解するword press.share
Wp プラグインapiから理解するword press.shareWp プラグインapiから理解するword press.share
Wp プラグインapiから理解するword press.share
Yuji Nojima
?
WordPressプラグイン Jetpack って何だ?!
WordPressプラグイン Jetpack って何だ?!WordPressプラグイン Jetpack って何だ?!
WordPressプラグイン Jetpack って何だ?!
Yuji Nojima
?
エンジニアの為のWordPress入門 ?WordPressはWebAppプラットフォームです?
エンジニアの為のWordPress入門 ?WordPressはWebAppプラットフォームです?エンジニアの為のWordPress入門 ?WordPressはWebAppプラットフォームです?
エンジニアの為のWordPress入門 ?WordPressはWebAppプラットフォームです?
Yuji Nojima
?
WordPress プラグイン Infinite Scroll を試してみた
WordPress プラグイン Infinite Scroll を試してみたWordPress プラグイン Infinite Scroll を試してみた
WordPress プラグイン Infinite Scroll を試してみた
Yuji Nojima
?
簡単!低コスト!楽しい!レスポンシブ デザイン ディレクション
簡単!低コスト!楽しい!レスポンシブ デザイン ディレクション簡単!低コスト!楽しい!レスポンシブ デザイン ディレクション
簡単!低コスト!楽しい!レスポンシブ デザイン ディレクション
Yuji Nojima
?
今日から使える! Sass/compass ゆるめ勉強会
今日から使える! Sass/compass ゆるめ勉強会今日から使える! Sass/compass ゆるめ勉強会
今日から使える! Sass/compass ゆるめ勉強会
Yuji Nojima
?
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
Yuji Nojima
?
Wp プラグインapiから理解するword press.share
Wp プラグインapiから理解するword press.shareWp プラグインapiから理解するword press.share
Wp プラグインapiから理解するword press.share
Yuji Nojima
?
WordPressプラグイン Jetpack って何だ?!
WordPressプラグイン Jetpack って何だ?!WordPressプラグイン Jetpack って何だ?!
WordPressプラグイン Jetpack って何だ?!
Yuji Nojima
?
エンジニアの為のWordPress入門 ?WordPressはWebAppプラットフォームです?
エンジニアの為のWordPress入門 ?WordPressはWebAppプラットフォームです?エンジニアの為のWordPress入門 ?WordPressはWebAppプラットフォームです?
エンジニアの為のWordPress入門 ?WordPressはWebAppプラットフォームです?
Yuji Nojima
?
WordPress プラグイン Infinite Scroll を試してみた
WordPress プラグイン Infinite Scroll を試してみたWordPress プラグイン Infinite Scroll を試してみた
WordPress プラグイン Infinite Scroll を試してみた
Yuji Nojima
?
簡単!低コスト!楽しい!レスポンシブ デザイン ディレクション
簡単!低コスト!楽しい!レスポンシブ デザイン ディレクション簡単!低コスト!楽しい!レスポンシブ デザイン ディレクション
簡単!低コスト!楽しい!レスポンシブ デザイン ディレクション
Yuji Nojima
?

颁丑谤辞尘别で箩补惫补蝉肠谤颈辫迟デバッグ!まず半歩?

  • 1. Chrome て? Javascript テ?ハ?ック?! ます?半歩?
  • 2. 自己紹介 ノジマ ユウジ  @yuka2py ● 株式会社フォーエンキー 代表 ● Android/iPhoneアプリ開発。 Webシステム開発、テ?ザインや印刷全般など。 Web関係は...ここ最近はスマホ系三昧? ● 好きな言語:Python (*?Д`*)、Javascript しかし一番書いているのは PHP... ● ク?ラフィックテ?ザインもやります。 ● 趣味:オサレ?(若干かわいい系 (`?ω??)?? ● 弱点:お嫁ちゃん
  • 4. Alert()デバッグとは? ● Alertて?任意の変数の値を表示させ、 プロク?ラムの問題点を確認する手法 (PHPならvar_dumpやecho) ● 問題点 ● Alertした所て?プロク?ラムが中断する ● 変数を確認するためのコードを書く必要がある ● 中断しても、確認て?きる範囲が限定的 ● ソースコードに直接書くのて?、解除や再設定が面倒 ● ループて?使っちゃうと半泣き
  • 5. 本日のお品書き ● テ?ベロッパーコンソールて?のエラーの见かた ● コンソールへのロク?出力 ● ブレークポイントを使ってみる ● 変数の状態が確認て?きる ● コールスタックが確認て?きる ● おまけ ちょっぴり紹介程度て?す。 (?-д-?)ゞ??…
  • 7. 致命的なエラーはエラー表示される プロク?ラムに シンタックス エラーなど致 命的な問題が あると、画面 右下にエラー が表示される クリック
  • 8. コンソールのエラー詳細表示 ●    のエラー表示をクリックしたら、コン ソールが開いてエラーの詳細が確認て?きる エラーの詳細
  • 9. エラー個所へジャンプ ● エラー詳細情報の中に、リンクがある。 このリンクからエラー個所へジャンプて?きる クリック
  • 10. ジャンプした先でコードを确认?修正 該当箇所の コードが表示 される。 エラーとおぼしき場所に、 ここて?は、 マーク等も出たりする 無名関数を 閉じるブレス が抜けてた。
  • 12. ログ出力は止まらない ● 変数の値を確認したい時、 Alertて?変数値を確認する方法て?は、 処理が中断して困ることがある。 ● 例えば、MouseMove て?何か処理していて、 その逐次変化する値を確認したい時など ● そこて?... console.log(value);
  • 13. console.log() を使うと... ● プロク?ラム中の好きな場所て?、 コンソールにロク?を出力させることがて?きる ● alert と違って実行が止まらない ● 連続的な値の変化を見たい時など便利 ● 例えば↓のような感じて?使う jQuery('body').mousemove(function(e) { console.log(e.pageX, e.pageY); });
  • 15. ブレークポイントとは? ● プロク?ラム中の好きな場所て?、 プロク?ラムの実行を一時停止て?きます ● ブレーク中には... ● スコープ変数の状態を確認て?きる ● コールスタック(呼び出し階層)を確認て?きる ● 再開、ステップオーハ?ー?イン?アウト  ?これらを用いて、プログラムの論理エラーを   調査するのに非常に強力に活用できる
  • 16. ブレークポイントを設定する ● ブレークしたい行の行番号をクリック マークが付いたらOK
  • 17. ブレークしてみる ● ブレークポイントを通過するように実行すると ブレークポイントて?プロク?ラムは自動停止 BPて?止まる
  • 19. 変数の状态が确认できる ローカル変数 クロージャ変数 変数の値はもちろん、 オブジェクトなら その中身も見れる ク?ローハ?ル変数
  • 20. コールスタックが確認できる 上から順に、 直近の呼び出し 各行クリックすると、 その呼び出し場所に ジャンプ ジャンプしたら、 ジャンプした先の ローカル変数の 状態が見れる
  • 21. コールスタックとは ● プロク?ラムの呼び出し階層のこと ● 現在位置から、関数やメソッドの呼び出しを遡 れる ● あくまて?も呼び出された階層なのて?、全てのプロク? ラムの実行順て?は無いことには注意 ● ブレークしたポイントまて?に呼び出された関数 やメソッドが分かるのて?… ● 想定外の関数の動作を見つけたり、 ● 思わぬ実行経路を見つけたりて?きる。
  • 22. ブレークからの再開方法 ● 【再開】ブレークした箇所から再開 ● 【??????????】その行を実行し、次の行に進む ● 【???????】その行を実行し、次の行に進む。       関数があればその中に入る ● 【????????】現在の関数を抜けるまて?実行を進める ● また、BPを一時的に全てスキップするように無効化 することも出来ます。 ステップオーハ?ー ステップイン ステップアウト 再開 BPの一時無効化
  • 23. 論理エラーを探し出す ● 「論理エラー」とは、プロク?ラムはエラーにな らないが、意図した動作をしない状態 ● ワリと良くあるし、ワリとやっかいな状態 ● 論理エラーの発見には、経験&コツが必要だが... ● プロク?ラムのブレークは非常に強力な武器に。 ● おかしくなっていると思うところに、 ブレークポイントを設定 ● 関連する変数の値を確認 ● 呼び出し元からの引数がオカシイときは、 コールスタックを遡って、確認
  • 25. 他にもある console API console.log(object[, object, ...]) 引数の内容をコンソールに表 示する。 console.dir(object[, object, ...]) 引数に指定されたオブジェク トのプロパティ一覧を表示す る。 console.time(name) 引数名のタイマーを内部て?作 成する。 console.timeEnd(name) console.time(name) て?生成さ れたタイマーを停止して経過 時間を Console パネルに表示 します.
  • 26. 圧縮コードの整形 ● 圧縮されたコードも コードビュー下側の { } マークをクリック すると...
  • 27. 圧縮コードの整形 ● キレイに整形! ● この状態て?リロード もOK ● ブレークポイントも 張れる ● 圧縮されたJSファイ ルもコードを追いや すくなりますね!
  • 28. 多彩なブレークポイント(1) ブレークポイント作成 ● 条件付きブレークポ して、右クリック イント ● 任意の条件式がtrueを 返すときだけブレーク する 条件式を入力 ● 作り方 1.ブレークポイントを 作成してから、右ク リック 2.Edit Breakpoint... か ら、条件式を入力する
  • 29. 多彩なブレークポイント(2) ● DOMブレークポイント ● 任意の要素ツリーや属性の変更、ノードの削除時に ブレークする。(要素を右クリックして指定) ● XHR ブレークポイント ● XHR送信時にブレークする。送信先が特定の文字 列を含む時だけブレークすることも可能 ● Event Listenerブレークポイント ● キー入力、マウス、タイマー(setTimeout)などの イベント発生時に自動て?ブレーク
  • 32. User agent タブ User agent のオーハ?ーライドやテ?ハ?イスの 表示解像度のシミュレーションなどが行えるのて?、 Fire mobile シミュレータっぽいこともて?きる。
  • 33. ドックの位置の変更 ● ドック右下のアイコンを クリックして切り替える ● クリック毎に変わる ● 長押して?3種類切り替わる – 下側 – 右側 クリックまたは – 個別ウィンドウ 長押して?切り替え ● サイズ調整て?きるのて?、 右側にしてレスポンシブ の確認にちょっと便利
  • 34. まとめ ● alert() テ?ハ?ック?を置き換える ● ある時点の変数の値を確認したい時には、 ブレークポイントを使ぉう! ● ある条件だけブレークしたい時には、 条件付きブレークポイント! ● 止まったら嫌な時とか、連続した値を確認した い時は、console.log() を使う ● 他にも便利な機能がいっぱいあるのて?少しす?つ 覚えると吉!
  • 35. 参考 資料を書くにあたって参考にさせて頂いたサイト ● Google Chrome Developer Tools入門 http://ss-o.net/event/20120212/ ● Google Chrome版Firebug: テ?ベロッパーツール取扱説明書 http://gihyo.jp/dev/feature/01/devtools ● chromeテ?ベロッパーツールて?javascriptのテ? ハ?ック?をする -node.jsもあるて?よ- http://d.hatena.ne.jp/shim0mura/20111231/1325357395