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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
450
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
250
Be an Internet Person
josephj
9
610
F2E Evolution
josephj
55
3.4k
F2E for Enterprise
josephj
42
5.7k
Other Decks in Programming
See All in Programming
AIが無かった頃の素敵な出会いの話
codmoninc
1
480
「つくるAI」だけではバグは見つからない ~テストに必要な「見つけるAI」を分離させる戦略~
mfunaki
0
120
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
500
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
4
490
AWS DevOps AgentのAzure接続機能を検証して見えた活用法/Use Cases Verified for the AWS DevOps Agent's Azure Connectivity Feature
masakiokuda
1
250
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
990
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
110
「人を評価する AI」の設計と実装
ryoyanara
0
220
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
530
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
340
Building a Meta Ray-Ban display app
akkeylab
0
170
Built Our Own Background Agent at LayerX
layerx
PRO
10
5.8k
Featured
See All Featured
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
480
Joys of Absence: A Defence of Solitary Play
codingconduct
1
440
Utilizing Notion as your number one productivity tool
mfonobong
4
550
Mind Mapping
helmedeiros
PRO
1
320
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
410
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
AI: The stuff that nobody shows you
jnunemaker
PRO
9
930
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
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