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
Modding RubyKaigi for Myself
yui_knk
0
920
The NotImplementedError Problem in Ruby
koic
1
700
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
130
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2k
TAKTでAI駆動開発の品質を設計する
j5ik2o
6
1.2k
OSもどきOS
arkw
0
500
AIで効率化できた業務・日常
ochtum
0
120
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
210
Agentic UI
manfredsteyer
PRO
0
140
技術記事、 専門家としてのプログラマ、 言語化
mizchi
4
1.5k
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
3.6k
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
320
Featured
See All Featured
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
250
Game over? The fight for quality and originality in the time of robots
wayneb77
1
190
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
170
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
370
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
200
Paper Plane
katiecoart
PRO
1
51k
How to build a perfect <img>
jonoalderson
1
5.6k
First, design no harm
axbom
PRO
2
1.2k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
140
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
160
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
310
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
380
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