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
The Dark Art of Debugging
Search
eojthebrave
May 22, 2015
Technology
640
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
The Dark Art of Debugging
A talk about developing the soft-skills required to be a good software debugger.
eojthebrave
May 22, 2015
More Decks by eojthebrave
See All by eojthebrave
Altering, Extending, and Enhancing, Drupal 8
eojthebrave
4
1k
An Overview of the Drupal 8 Plugin System
eojthebrave
2
470
A Developers Primer to Managing Developers
eojthebrave
0
500
Building Web Services with Drupal 7
eojthebrave
0
420
We Need to Teach People Drupal 8. Now.
eojthebrave
0
340
Thoughts About Presenting
eojthebrave
0
390
Views! Huh? What is it good for?
eojthebrave
1
250
The Incredible Form API
eojthebrave
2
400
Recurring Billing is hard, is hard, is hard.
eojthebrave
2
560
Other Decks in Technology
See All in Technology
AI-DLCって実際どう? 〜聞きたいこと全部聞いてみる〜
news_it_enj
0
240
2026/09/10 Spring_Bootから_Jakarta_EE_MicroProfileへの移行
megascus
0
190
AndroidでHDRメディアを「壊さずに」扱う
chigichan24
0
410
スクラムで身についていた動き方を、XPで捉え直してみた
codmoninc
PRO
1
280
Driving AI Adoption Using In-House GPUs to Serve Qwen
po3rin
2
460
なぜSRE・セキュリティは評価されないのか?守りの組織を事業成長エンジンに変えた実践
cscengineer
PRO
3
2.3k
生成AI時代の クレデンシャルとパーミッション設計
nrinetcom
PRO
4
1.6k
From Vanilla Kubernetes to a Batteries-Included Platform: Developer Experience at 1,300+ Clusters
yosshi_
0
610
Redmine 7.0で私が開発した新機能の狙いと背景
vividtone
1
110
Backstageでつくるセルフサービスな社内開発基盤
kikunosuke75
1
350
AI 駆動 Terraform 開発/SRE_BizReach_MIXI_2
visional_engineering_and_design
2
1.8k
JAWS-UG初心者支部#88わいわい初心塾(夏休みの宿題やったかGit編)
otsuki
0
150
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
432
67k
What does AI have to do with Human Rights?
axbom
PRO
1
2.4k
Odyssey Design
rkendrick25
PRO
2
800
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
190
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
310
Practical Orchestrator
shlominoach
191
12k
For a Future-Friendly Web
brad_frost
183
10k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
920
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Transcript
The Dark Art of Debugging php[tek] 2015 - Chicago Joe
(@eojthebrave) Shindelar https://joind.in/event/view /3183
Hi. I’m Joe Shindelar @eojthebrave
5 Minutes - GO! + Bugs are inevitable + Debugging
is a science + Replicate, Isolate, Understand, Fix + Practice …
So … where do bugs come from?
Software: Is a set of written instructions provided for a
computer to interpret and use to accomplish a task.
Software: Is a set of written instructions provided for a
computer to interpret and use to accomplish a task. Bugs: Are the defects that arise when those instructions are incorrectly translated.
“There’s a space between zero and one, between the way
the machine counts and thinks and the way we count and think. When you search for explanations for software’s bugs and delays and stubborn resistance to human desires, that space is where you’ll find them.” - Scott Rosenberg -Dreaming In Code
The ONLY way to be a zero bug programmer is
to not write any code.
Debugging is a practical application of both technical skills and
analytical abilities
This presentation is not about tools. But tools play an
important roll in debugging. Learn your tools. Use your tools.
+ Replicate + Isolate + Understand + Fix
Ready? Fire! Aim. Give yourself 10 minutes to jump in
and dirty- debug. But STOP before you go crazy.
STEP ONE Replicate the problem
It is a capital mistake to theorize before one has
data. Insensibly one begins to twist facts to suit theories, instead of theories to suit facts. - Sherlock Holmes Quote -A Scandal in Bohemia
Replicate + Keep a log
Replicate + Keep a log + Get it to fail
Replicate + Keep a log + Get it to fail
+ Lay a trap
Replicate + Keep a log + Get it to fail
+ Lay a trap + Stimulate. Don’t simulate
Replicate + Keep a log + Get it to fail
+ Lay a trap + Stimulate. Don’t simulate + Automate the failure
Goal: Generate a list of steps
STEP TWO Isolate the problem
There is nothing more deceptive than an obvious fact. -
Sherlock Holmes Quote - The Bascombe Valley Mystery
Isolate + Avoid easter egging
Isolate + Avoid easter egging + Check the plug
Isolate + Avoid easter egging + Check the plug +
Divide & conquer
Isolate + Avoid easter egging + Check the plug +
Divide & conquer + Change one thing at time
Isolate + Avoid easter egging + Check the plug +
Divide & conquer + Change one thing at time + Stop thinking and look
Goal: Explain what is causing the problem to occur. Include
details about application state, time, and inputs.
STEP THREE Understand the problem
Nothing clears up a case so much as stating it
to another person. - Sherlock Holmes Quote - Silver Blaze
Understand + Brain games
Avoid confirmation bias Beware the availability heuristic
Understand + Brain games + Don’t assume anything. Ever
Understand + Brain games + Don’t assume anything. Ever +
Practice tempered humility
Understand + Brain games + Don’t assume anything. Ever +
Practice tempered humility + Read the manual
“Why bother, I can look it up in the Phone
book.” - Einstein
Understand + Brain games + Don’t assume anything. Ever +
Practice tempered humility + Read the manual + Ask for help
Goal: Explain the root cause, and how your proposed fix
will solve the problem.
STEP FOUR Fix the problem
Eliminate all other factors, and the one which remains must
be the truth. - Sherlock Holmes Quote - The Sign of Four
Fix + Don’t stop until you’re done
Fix + Don’t stop until you’re done + Establish causality
Fix + Don’t stop until you’re done + Establish causality
+ Test your fix
Goal: Close the ticket!
+ Replicate + Isolate + Understand + Fix
“The greats weren't great because at birth they could paint.
The greats were great cause they paint a lot.” - Macklemore
The Dark Art of Debugging php[tek] 2015 - Chicago Joe
(@eojthebrave) Shindelar https://joind.in/event/view /3183