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
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2k
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
230
LLM Plugin for Node-REDの利用方法と開発について
404background
0
170
Webフレームワークの ベンチマークについて
yusukebe
0
160
CSC307 Lecture 17
javiergs
PRO
0
320
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
190
AutonomyとControlのあいだ:Graflowで記述するAIエージェント協調
myui
0
120
3Dシーンの圧縮
fadis
1
720
The ROI of Quarkus for Spring Boot Applications
hollycummins
0
110
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
200
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
330
Lessons from Spec-Driven Development
simas
PRO
0
170
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
470
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
280
Designing for Timeless Needs
cassininazir
1
250
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
230
Navigating Team Friction
lara
192
16k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
240
Statistics for Hackers
jakevdp
799
230k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
230
What's in a price? How to price your products and services
michaelherold
247
13k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
170
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
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