More Related Content
PDF
【Unite Tokyo 2019】AWS for Unity Developers PDF
リクルートのWebサービスを支える「RAFTEL」 PDF
怖くないSpring Bootのオートコンフィグレーション PDF
PDF
誰もAddressableについて語らないなら、自分が語るしかない…ッッッッ PDF
【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」 PDF
3分でわかるAzureでのService Principal PDF
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ What's hot
PDF
PDF
Unity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニー PDF
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介 PPTX
PDF
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料) PPTX
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介 PPTX
PDF
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践 PPTX
Amazon SageMakerでカスタムコンテナを使った学習 PDF
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話 PDF
聖剣伝説3でのUE4利用事例の紹介~Making of Mana | UNREAL FEST EXTREME 2020 WINTER PPTX
PDF
Cloud Foundry にアプリケーションを push する際の典型的な10のエラー PDF
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説 PDF
PPTX
PDF
世界を跨ぐリアルタイム PvP 対戦への挑戦 [Google Cloud INSIDE Games & Apps] PDF
PPTX
PDF
Elasticsearchを使うときの注意点 公開用スライド Viewers also liked
PDF
CSSにもオブジェクト指向を - OOCSSことはじめ PDF
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応) KEY
PDF
PDF
PDF
集合知プログラミング 第6章 ドキュメントとフィルタリング~draft PDF
ディレクターからみたMovable Type + PowerCMSの優位性 PDF
テスト環境から本番環境へ、URLが異なる環境にWordPressを移行する方法 PPTX
シロクマ本に学ぶエクスペリエンスのための手技法 by 篠原 稔和 - presentation from IA CAMP 2015 PDF
Webアクセシビリティの標準規格「JIS X 8341-3:2010」準拠のための試験方法(最新版) PDF
PDF
PDF
PDF
PDF
PDF
KEY
PPTX
PDF
PDF
Similar to Chromeでjavascriptデバッグ!まず半歩♪
PDF
Chrome Developer Toolsを使いこなそう! PDF
PDF
PDF
PDF
PDF
ちょっと詳しくJavaScript 特別編【悪霊の神々】 PDF
PDF
traceur-compilerで ECMAScript6を体験 PDF
JavaScriptおよびXPages Vote技術解説 PDF
JSの基本的なことをちょっと掘り下げてみる話シリーズ Chapter02. 〜 デバッグ編 〜 PDF
JSの基本的なことをちょっと掘り下げてみる話シリーズ Chapter02. 〜 デバッグ編 〜 PDF
PDF
Senchaを使うエンジニアが知っておくたった一つのこと PPTX
PDF
PDF
PPTX
PPT
PDF
PDF
わかるコードを書くために For writing clean code More from Yuji Nojima
PDF
今日から使える! Sass/compass ゆるめ勉強会 PDF
最強オブジェクト指向言語 JavaScript 再入門! PDF
Wp プラグインapiから理解するword press.share KEY
WordPressプラグイン Jetpack って何だ?! KEY
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜 KEY
WordPress プラグイン Infinite Scroll を試してみた PDF
簡単!低コスト!楽しい!レスポンシブ デザイン ディレクション Chromeでjavascriptデバッグ!まず半歩♪
- 1.
- 2.
自己紹介
ノジマ ユウジ @yuka2py
●
株式会社フォーエンキー 代表
●
Android/iPhoneアプリ開発。
Webシステム開発、デザインや印刷全般など。
Web関係は...ここ最近はスマホ系三昧♪
●
好きな言語:Python (*´Д`*)、Javascript
しかし一番書いているのは PHP...
●
グラフィックデザインもやります。
●
趣味:オサレ♪(若干かわいい系 (`・ω・´)キリ
●
弱点:お嫁ちゃん
- 3.
- 4.
Alert()デバッグとは?
●
Alertで任意の変数の値を表示させ、
プログラムの問題点を確認する手法
(PHPならvar_dumpやecho)
●
問題点
●
Alertした所でプログラムが中断する
●
変数を確認するためのコードを書く必要がある
●
中断しても、確認できる範囲が限定的
●
ソースコードに直接書くので、解除や再設定が面倒
●
ループで使っちゃうと半泣き
- 5.
本日のお品書き
●
デベロッパーコンソールでのエラーの見かた
●
コンソールへのログ出力
●
ブレークポイントを使ってみる
●
変数の状態が確認できる
●
コールスタックが確認できる
●
おまけ
ちょっぴり紹介程度です。 (。-д-。)ゞヘヘ…
- 6.
- 7.
- 8.
- 9.
- 10.
ジャンプした先でコードを確認・修正
該当箇所の
コードが表示
される。
エラーとおぼしき場所に、 ここでは、
マーク等も出たりする
無名関数を
閉じるブレス
が抜けてた。
- 11.
- 12.
ログ出力は止まらない
●
変数の値を確認したい時、
Alertで変数値を確認する方法では、
処理が中断して困ることがある。
●
例えば、MouseMove で何か処理していて、
その逐次変化する値を確認したい時など
●
そこで...
console.log(value);
- 13.
console.log() を使うと...
●
プログラム中の好きな場所で、
コンソールにログを出力させることができる
●
alert と違って実行が止まらない
●
連続的な値の変化を見たい時など便利
●
例えば↓のような感じで使う
jQuery('body').mousemove(function(e) {
console.log(e.pageX, e.pageY);
});
- 14.
- 15.
ブレークポイントとは?
●
プログラム中の好きな場所で、
プログラムの実行を一時停止できます
●
ブレーク中には...
●
スコープ変数の状態を確認できる
●
コールスタック(呼び出し階層)を確認できる
●
再開、ステップオーバー・イン・アウト
⇒これらを用いて、プログラムの論理エラーを
調査するのに非常に強力に活用できる
- 16.
- 17.
ブレークしてみる
●
ブレークポイントを通過するように実行すると
ブレークポイントでプログラムは自動停止
BPで止まる
- 18.
- 19.
変数の状態が確認できる
ローカル変数
クロージャ変数
変数の値はもちろん、
オブジェクトなら
その中身も見れる
グローバル変数
- 20.
- 21.
コールスタックとは
●
プログラムの呼び出し階層のこと
●
現在位置から、関数やメソッドの呼び出しを遡
れる
●
あくまでも呼び出された階層なので、全てのプログ
ラムの実行順では無いことには注意
●
ブレークしたポイントまでに呼び出された関数
やメソッドが分かるので…
●
想定外の関数の動作を見つけたり、
●
思わぬ実行経路を見つけたりできる。
- 22.
ブレークからの再開方法
●
【再開】ブレークした箇所から再開
●
【ステップオーバー】その行を実行し、次の行に進む
●
【ステップイン】その行を実行し、次の行に進む。
関数があればその中に入る
●
【ステップアウト】現在の関数を抜けるまで実行を進める
●
また、BPを一時的に全てスキップするように無効化
することも出来ます。
ステップオーバー ステップイン ステップアウト
再開
BPの一時無効化
- 23.
論理エラーを探し出す
●
「論理エラー」とは、プログラムはエラーにな
らないが、意図した動作をしない状態
●
ワリと良くあるし、ワリとやっかいな状態
●
論理エラーの発見には、経験&コツが必要だが...
●
プログラムのブレークは非常に強力な武器に。
●
おかしくなっていると思うところに、
ブレークポイントを設定
●
関連する変数の値を確認
●
呼び出し元からの引数がオカシイときは、
コールスタックを遡って、確認
- 24.
- 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)などの
イベント発生時に自動でブレーク
- 30.
- 31.
- 32.
User agent タブ
Useragent のオーバーライドやデバイスの
表示解像度のシミュレーションなどが行えるので、
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
- 36.