Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Debugging - Web 前端程式開發實務
Search
Joseph Chiang
May 02, 2013
Programming
240
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Debugging - Web 前端程式開發實務
Joseph Chiang
May 02, 2013
More Decks by Joseph Chiang
See All by Joseph Chiang
不断归零的前端人生 - 2016 中国软件开发者大会
josephj
1
430
Let's Redux!
josephj
4
320
Automatic Functional Testing with Selenium and SauceLabs
josephj
2
320
From Hacker to Developer
josephj
1
170
tmuxinator
josephj
0
240
JavaScript Promise
josephj
0
230
Be an Internet Person
josephj
9
590
F2E Evolution
josephj
55
3.3k
F2E for Enterprise
josephj
42
5.7k
Other Decks in Programming
See All in Programming
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.6k
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
530
AI時代のUIはどこへ行く?その2!
yusukebe
21
7k
ふつうのFeature Flag実践入門
irof
7
3.7k
dRuby over BLE
makicamel
2
330
AIとASP.NET Coreで雑Webアプリを作った話
mayuki
0
500
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.3k
AIで効率化できた業務・日常
ochtum
0
120
Contextとはなにか
chiroruxx
0
290
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
2
560
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.2k
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
350
Featured
See All Featured
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
250
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
320
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Faster Mobile Websites
deanohume
310
31k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
290
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
830
Into the Great Unknown - MozCon
thekraken
41
2.6k
ラッコキーワード サービス紹介資料
rakko
1
3.6M
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Transcript
Copyright © 2012 FITPI. All rights reserved. ሱസℶ⊁ấ భ؊۽ӱῘứℯ↩⇪‣
ᾣ℩ğᾠקდKPTFQIK 1
Copyright © 2012 FITPI. All rights reserved. 2 ⊁ấ ๏
-PHῘứದ≇Ⴈ֥ิൕ⇫༏ ๏ &SSPS)BOEMJOHấ↪ẕὨᇅ ๏ #SFBLQPJOU০Ⴈ۽ऎሔ䱝↜ⅳ ๏ 'JEEMFSೂޅ䍛ഈ⊁ấ Ῐứӱൔࣼ൞၂’Ա֥USZBOEFSSPS +BWB4DSJQUႵଧུٚمࠣ۽ऎିḲᇹⁿࢳ㢯↜ⅳĤ
Copyright © 2012 FITPI. All rights reserved. -PH 3 ᅳ↜ⅳቋᆰῒ֥ቔمࣼ൞ᆰࢤ↾ൕ⇫༏
ॖၛޓॹֹᆩ֡ṉ⅂֥ᆴࠇႵ㢻Ⴕ֞
Copyright © 2012 FITPI. All rights reserved. alert(); 4 Ἶಀ+BWB4DSJQUὕ㢻Ⴕਅݺ⊁ấὔ֥ື၂ቔم
ၹᾏẪࠣᆰῒ֥หྟa֞⇀ᄝὕ൞ޓӈႨ
Copyright © 2012 FITPI. All rights reserved. 5 alert();
Copyright © 2012 FITPI. All rights reserved. BMFSU֥∱ಌề 6 ๏
∱ềğ ❖ ᆰῒğ҂Ⴈν⊬a๙Ⴈᧄૄἠ⏟´ఖb ❖ ҄ğॖၛ≚๔⊋ྛ+4ᄝଢభ֥ྛ⅂b ๏ ಌềğ ❖ ۄğၹ҄aླေề⇢Ҍି౼ཨb ❖ ޓₒỚॹMPPQ ֥ӱൔቓ⊁ấb ২ೂğၻ Ѭ٢aঘaọ
Copyright © 2012 FITPI. All rights reserved. console.log(); 7 ạ'JSFCVH
ࠅ⏟´ఖຓ㍂ Ῐ෮ิ܂֥ۿି ᗥῲṉӮૄἠ⏟´ఖ֥Ṍ⊵aമᇀᄝ/PEFKT္ॖႨ
Copyright © 2012 FITPI. All rights reserved. 8 console.log(); http://getfirebug.com/wiki/index.php/Console_API
۲ն⏟´ఖο'ႵῘứ۽ऎ
Copyright © 2012 FITPI. All rights reserved. DPOTPMFMPH֥∱ಌề 9 ๏
∱ềğ ❖ ۄྟ֮đն؟⅂౦㣐ℳႨb ๏ ಌềğ ❖ *& ҂ᆦჱaമᇀ㸗ളấ↪b ❖ ҂൞ૄἠ⏟´ఖᆰࢤॖुb ✦ 'JSFGPY֤ν⊬'JSFCVHb ❖ 㢻Ḱم#MPDLᗥ⇟4DSJQU⊋ྛb ✦ ՎℭႨBMFSUࠧॖb ๏ →Ὂ҂ၞa⇔؟ਔّط၂ↀ⁙b ഈ䍛ᗥ҂∣ἐթᄝb
Copyright © 2012 FITPI. All rights reserved. Y.log(); 10 :6*⤨ࡹڿਅϱ֥DPOTPMFMPHb
Copyright © 2012 FITPI. All rights reserved. 11 ӑ؟֥-PHđೂޅἾ⁓Ĥ -PHஷ֥֞↜ⅳ
Copyright © 2012 FITPI. All rights reserved. 12 ັ℟ק၂༯Ćᆺुఃᇏ၂ἠଆ⊾֥⇫༏ YUI({
logInclude: { “#channel-player”: true } }).use() Y.log(“...”, “info”, “#channel- player”); Y.log(); :MPH .FTTBHF⇫༏ 4FWFSJUZ֩ά (SPVQ⊾⦁
Copyright © 2012 FITPI. All rights reserved. :MPH֥∱ề 13 ๏
∱ềğ ❖ ॖ၇4FWFSJUZ JOGP XBSO FSSPS ٳ đῘứ۽ऎॖᆰࢤቓGJMUFSb ❖ ॖሱị(SPVQaἾ:6*֥MPH*ODMVEF ࠇMPH&YDMVEF℟קቓٳ b ❖ ᄝႨ:6*֥భิ༯đૄἠ⏟´ఖॖၛ Ⴈđࠧ*&္҂Ⴕấ↪b ❖ ࠧᄝ䍛ഈὔđ္ॖἾ:6*֥ EFCVHGBMTFϜMPHἬṅb
Copyright © 2012 FITPI. All rights reserved. new Y.Console() 14
Ⴈ:6*㸗ള֥$POTPMFॖປಆᆦჱૄ၂ἠ⏟´ఖ ỚᧄΈ⏟´ఖࠇห൹౦㣐 ళೆൔ༢ⅼ ӑݺႨ (new Y.Console()).render(); http://yuilibrary.com/yui/docs/console/ http://yuilibrary.com/yui/docs/console-filters/ ‣↮ğhttp://f2eclass.com/lab/debug/console.html
Copyright © 2012 FITPI. All rights reserved. -PHྏ֤ٳཚ 15 ๏
ࡹ∗᾽ਈᾞӱൔ֥ૄἠݦൔֻ၂ྛaᇗေ⊋ྛ ề٢ᇂ-PHb රቀ䰏֥ۀaⁿಸၞ ಀሔ䱝↜ⅳࠣਔࢳἧb ๏ ằӱൔᇏླေնਈ֥-PHℭđ⃪၂קေᆷק 4FWFSJUZࠣ(SPVQṚ⅂đٚьᗥ⇟Ἶ⁓b ❖ :6*֥MPH*ODMVEF MPH&YDMVEF EFCVHݺႨĆ ๏ MPPQ ֥-PH FYၻ Ѭ٢Ά؇൙ࡱĎ⃪ሱ ྛᆆሠ൞ڎႨb
Copyright © 2012 FITPI. All rights reserved. &SSPS)BOEMJOH 16 ằӱൔứളਔấ↪đⁿἐೂޅẕĤ
Copyright © 2012 FITPI. All rights reserved. &SSPSളଁ䵆௹ 17 瀏覽器錯誤
window.onerror try-catch 錯誤發生 ӱൔ㢯ק൞ڎေສഈ❟ ӱൔ㢯ק൞ڎေສഈ❟ +BWB4DSJQUῘứದ≇ॖ০Ⴈ USZDBUDI∻XJOEPXPOFSSPS Ṙሂ❣ẕấ↪
Copyright © 2012 FITPI. All rights reserved. try-catch 18 try
{ // Մೳ။㗞ੜࡨޡతఔࣜᛰ } catch (error) { // ᙛ༗ࡨޡత࣌ީ࠽။ਐೖ // error తሱੑ༗ message ᢛ name alert("ࡨޡྨผҝɿ" + error.name + ", ࡨޡਜଉҝɿ" + error.message); } // ޙ᠃తఔࣜᛰနવՄҎ᠃ࣥߦʢআඇࡏ catch த returnʣ Їڭᄝॖି㸗ളấ↪֥ӱൔຓ ჩߟࢿྉɿhttp://www.javascriptkit.com/javatutors/trycatch2.shtml ࿅शɿhttp://f2eclass.com/lab/debug/try-catch.html
Copyright © 2012 FITPI. All rights reserved. window.onerror 19 window.onerror
= function (message, url, line) { alert([ "JavaScript error: " + message, " on line " + line, " for " + url ].join("")); return false; // false ။᠃㗞ੜࡨޡɺtrue ଇ။ᆫࡨޡ }; ấ↪ẕ֥ቋᗥ၂֡ٝ䍛 ჩߟࢿྉɿhttp://dev.opera.com/articles/view/better-error-handling-with-window-onerror/ ࿅शɿhttp://f2eclass.com/lab/debug/window-onerror.html
Copyright © 2012 FITPI. All rights reserved. ấ↪ẕྏ֤ٳཚ 20 ๏
ᾞấ↪ສഈ߭Ḹđх૧ᆺ൞USZDBUDI⇭ၝb ❖ UISPXOFX&SSPS Ⴈᆀሱקấ↪ ๏ XJOEPXPOFSSPSẕğ ❖ 䍛ഈğ∟ҟấ↪a߭Ḹ֞යڛఖb ❖ Ῐứğ↾ൕấ↪aῘứದ≇с⇜ẕוb ๏ ᾑ႕ோğ ❖ IUUQXXXTMJEFTIBSFOFUO[BLBTFOUFSQSJTF KBWBTDSJQUFSSPSIBOEMJOHQSFTFOUBUJPO
Copyright © 2012 FITPI. All rights reserved. #SFBLQPJOU 21 ⇀ࣂ֥#SPXTFSႵ۷ݺ֥%FWFMPQFS۽ऎਔ
ॖၛႨᆇᆞӱൔῘứٚൔሔ䱝↜ⅳĆ ο'յῘč*&ၛഈࠣఃṌ⊵⏟´ఖĎ
Copyright © 2012 FITPI. All rights reserved. EFCVHHFS 22 IUUQCMPHNJOJBTQDPNQPTU6TJOH+BWB4DSJQUEFCVHHFSTUBUFNFOUFOUFSCSFBLQPJOUTBTQY
Ⴈӱൔ℟ק#SFBLQPJOU
Copyright © 2012 FITPI. All rights reserved. 23 #SFBLQPJOUᇏỗề conditional
breakpoint programming breakpoint Step Control
Copyright © 2012 FITPI. All rights reserved. 'JEEMFS 24 ૄἠ'&∣ἐࠃႨ'JEEMFS
Copyright © 2012 FITPI. All rights reserved. 'JEEMFS൞喁Ĥ 25 'JEEMFSᄝểₔഈđཌྷằᧄࡹ৫ਔ䟥ₘ֥1SPYZa၂⊋
ྛđ෮Ⴕ֥ਫ਼ٿЇῂႮՎ1SPYZΆԛᆺေ⇔ +BWB4DSJQUaॖၛỚ෮⏟´֥∉ቓޅ൙Ć
Copyright © 2012 FITPI. All rights reserved. 26 +BWB4DSJQUӱൔФቋཬ߄ᄸ喁ḰĤ 䍛ഈὔ⇭⅜ӱൔa㢻-PHđᄸ喁%FCVH
Copyright © 2012 FITPI. All rights reserved. Ấڿᅟ߭ẖ֥3FTQPOTF ྩڿၘῂሂ߭ῲ֥+BWB4DSJQU⤨ಸ Ⴗᾗ6OMPDLGPS&EJUJOH
ᾞ4FTTJPOঘ֞"VUP3FTQPOEFSᇏ 27 "VUP3FTQPOEFS
Copyright © 2012 FITPI. All rights reserved. ↾ൕݔ ໃῲૄՑ3FMPBEࣼၛྩڿ֥ӱൔῲӯ⇀ ≾Ớⁿᄝ1SPEVDUJPOቓ⊁ấ٤ӈႵḲᇹ
28 "VUP3FTQPOEFS
Copyright © 2012 FITPI. All rights reserved. "VUP3FTQPOEFS 29 ӈႨᅟ֥∄ൔ҂ൽڛĤỆᆜ၂༯ϔ
Copyright © 2012 FITPI. All rights reserved. ‣↮ğᄝ:ྍ↙ࡆೆ BMFSU Ф'JEEMFSڿ⇔ਔĆ
30
Copyright © 2012 FITPI. All rights reserved. 'JEEMFS֥сḾ1MVHJOT ๏+BWB4DSJQU'PSNBUUFS ๏+40/7JFXFS
๏(BMMFSZ http://www.fiddler2.com/fiddler2/extensions.asp 31
Copyright © 2012 FITPI. All rights reserved. +BWB4DSJQU'PSNBUUFS ᆜ⇭⅜Ἶᗥ֥ӱൔ xuite
टท࠷খԽաޙత JavaScript ຊိ༗Ұߦత JavaScript ඃཫతඬ྄ 32
Copyright © 2012 FITPI. All rights reserved. +40/7JFXFS Ⴈ⅀⊯ⅾἭु3FTQPOTF⊷ਘ 33
Copyright © 2012 FITPI. All rights reserved. (BMMFSZ ᆰࢤु4FTTJPOᇏ֥ⅾோ ༗ᅷ༗ਅ૬ɺᰖࣔલબऔతᅷ䈕
34
Copyright © 2012 FITPI. All rights reserved. 'JEEMFS4DSJQU ๏ ೖೆNJJJ$BTB#BS
๏ ҂Ῐứದ≇ὔ్֥㍤ ๏ Ҭೆ'JSFCVH-JUFࠇ:6*$POTPMF֩ݺႨ۽ऎ ๏ ਙԛၘي∙aໃي∙֥ሳԱ ๏ ᾋℶଆ⊾⊷⇫ ๏ +BWB4DSJQU$44⇭⅜∻ڎ్֥㍤ 35 ൞'JEEMFSቋルն֥ۿିğॖၛሱị⇢Ẫ∻ۿି ၛ༯֥ۿି൞㬪NJJJ$BTB෮⚧ቔđॖᾳസ⇝؟Ῐứℭᾇ
Copyright © 2012 FITPI. All rights reserved. ೖೆNJJJ$BTB#BS Чῲс⇜Ἶ3PVUFSđႨ'JEEMFSଆₘ ᇗྍᆜᗥđࣼु֞NJJJ$BTB#BSԛ⇀ᄝ∉ቐ༯ٚčՎ㬪ề⇢ᗥ֥⊯㣐Ď
Վℭᾋℶჰࣼु֞ⁿೖೆ֥⤨ಸ ⇢౼↾ൕଧ⊕ὔ֥NJJJ$BTB#BS 36
Copyright © 2012 FITPI. All rights reserved. ྍᄹ'JEEMFS⇢Ẫ 37 ⚧ቔ⇢Ẫđṉ⅂թᄝ*/+&$5*0/@)045
Copyright © 2012 FITPI. All rights reserved. ၇ῌṉ⅂ೖೆ+4 ၇ῌ*/+&$5*0/@)045֥҂đೖೆ҂ὔ֥NJJJ$BTB#BS 38
ᄝPO#FGPSF3FTQPOTF ℻ԛᆭభ ẕݦൔᇏ
Copyright © 2012 FITPI. All rights reserved. 㑌ݸఔࢣ༗ࣗݾతڥ Ҏ Port
၏ეִɼ૾զੋ 5002* Ῐứὔ్㍤ ॹ్㍤ↀộᇏ҂۽ӱ℩֥Ῐứὔ 39
Copyright © 2012 FITPI. All rights reserved. 'JEEMFS൞Ⴕἠ⇢Ẫॖ⅗ℭ్㍤ࣼٚьਔĆ 40
Copyright © 2012 FITPI. All rights reserved. መࡍ্ੋඃ Fiddler ࣗಈሣጯ౸
devm1.corp.miiicasa.com:50020 41
Copyright © 2012 FITPI. All rights reserved. 'JSFCVH-JUF ᄝཞ*&֥⏟´ఖࣼห⦁ႵḲᇹ ೖೆ%FCVH$POTPMF
Ҭೆ'JSFCVH-JUFࠇ:6*$POTPMF 42
Copyright © 2012 FITPI. All rights reserved. ਙԛي∙ሳԱ ℟ί؟Ἵ∽༢ℭႵห൹֥$MBTT/BNF JOUMUSBOTMBUFE
JOUMUSBOTMBUBCMF ὕ㢻ي∙۵ي∙ປӮ֥ầ҂֥$44$MBTT/BNF Ὀіൕὕ㢻ي∙a䌾іൕي∙ປӮ ề‥༯ॖࢡԛي∙۽ऎ 43
Copyright © 2012 FITPI. All rights reserved. ᾋℶଆ⊾⊷⇫ ྻग़༗ id
ሱੑత <div/>ეմɼᴍၷԼ။ग़ݱ alert ࢹᜬ ࡏ։ᚙڥଧೖࠑࢦྩब။ࣗಈ૬᮫䈕Ҋ։ 44
Copyright © 2012 FITPI. All rights reserved. ్㍤⇭⅜∻ڎ Ῐứὔ֥+4$44≁℟൞ọⅢކ⟸؟ἠཬẵσ❣ቋཬ߄Ἶ֥b http://a.mimgs.com/fuse?module=space&type=js
ୠੋ࠷খԽ။ Debugging ࠔ 45
Copyright © 2012 FITPI. All rights reserved. ్㍤⇭⅜∻ڎ ఃℯᆺေ؟၂ἠOPNJOJGZ֥Ṛ⅂ࠧॖ߭Ἃᆞӈ http://a.mimgs.com/fuse?module=space&type=js&nominify
൞ૄՑေ൭ọڿࠇọӱൔℯᄝޓઐỮĆ 46
Copyright © 2012 FITPI. All rights reserved. ్㍤⇭⅜∻ڎ Ⴕ'JEEMFSᆇݺĆề⇢၂༯҂Ⴈڿӱൔࣼॖၛु֞㢻ቋཬ߄֥ http://a.mimgs.com/fuse?module=space&type=js
FiddlerScript ؆ᄸʂ 47
Copyright © 2012 FITPI. All rights reserved. ‣↮ğೖೆ'JSFCVH-JUF 48 ๏
յῘ$VTUPN3VMFKT ề⇢3VMFT$VTUPN3VMFT ๏ ᄹࡆ⇢Ẫğ ᄝDMBTT)BOEMFS֥Ῐⅽࡆೆၛ༯ӱൔaթẵđࠧॖᄹࡆ⇢⇊ğ public static RulesOption("Enable Firebug Lite") var IS_INCLUDE_FIREBUG: boolean = false; ๏ ᄝ)5.-ᇏೖೆ+BWB4DSJQU ᅳ֞0O#FGPSF3FTQPOTF൙ࡱẕݦൔđᄝඏభࡆೆ’ᇏӱൔ ğIUUQGFDMBTTDPNMBCEFCVHGJEEMFSGJSFCVHUYU ๏ 'JEEMFS4DSJQUܲٚ໓ࡱğ IUUQXXXGJEEMFSDPN'JEEMFS%FW4DSJQU4BNQMFTBTQ
Copyright © 2012 FITPI. All rights reserved. 49 ૄἠದ֥ླ҂၂∄đ≾Ṇᆺ൞ἡ၂ུℯቔ২ሰ ॖၛམམ喁Ọ༆ॖၛ㬪ሱ࠭∻ↀộầῲ㸗ᆴ
ಖᗥ০Ⴈ'JEEMFS4DSJQUῲℯቔĆ Ῐứ֥۽ऎĆ ර֥۽ऎğ $IBSMFT%FCVHHJOH1SPYZ NJUNQSPYZ
Copyright © 2012 FITPI. All rights reserved. 50 ⊁ấ3FWJFX ๏
-PH۲⊕⇫༏↾ൕὨᇅ∻:6*$POTPMF ๏ &SSPS)BOEMJOHUSZDBUDI∻ XJOEPXPOFSSPSೂޅႨ ๏ #SFBLQPJOUῘứ۽ऎೂޅ℟ק CSFBLQPJOUb EFCVHHFS ๏ 'JEEMFS䍛ഈ⊁ấ∻ሱྛῘứ۽ऎ
Copyright © 2012 FITPI. All rights reserved. 51 ⊁ấ3FWJFX ๏
-PH۲⊕⇫༏↾ൕὨᇅ∻:6*$POTPMF ๏ &SSPS)BOEMJOHUSZDBUDI∻ XJOEPXPOFSSPSೂޅႨ ๏ #SFBLQPJOUῘứ۽ऎೂޅ℟ק CSFBLQPJOUb EFCVHHFS ๏ 'JEEMFS䍛ഈ⊁ấ∻ሱྛῘứ۽ऎ
Copyright © 2012 FITPI. All rights reserved. 52 Q &
A