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
240
Be an Internet Person
josephj
9
600
F2E Evolution
josephj
55
3.3k
F2E for Enterprise
josephj
42
5.7k
Other Decks in Programming
See All in Programming
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
12
4.7k
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
4
1.6k
霧の中の代数的エフェクト
funnyycat
1
290
継続モナドとリアクティブプログラミング
yukikurage
3
420
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
4
1k
エンジニアにデザインハーネスを 〜デザインプロセスを規定するためのハーネス〜 / Design harness from an engineer's perspective
rkaga
2
1.1k
dRuby over BLE
makicamel
2
410
Strategic Design in the Frontend: Moduliths & Micro Frontends @DDDEurope
manfredsteyer
PRO
0
150
SREは、MCPとSRE Agentをこう使え!
kazumax55
0
150
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
270
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.7k
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
570
Featured
See All Featured
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
220
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
350
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.6k
Paper Plane (Part 1)
katiecoart
PRO
0
9.5k
Side Projects
sachag
455
43k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
670
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.5k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
220
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