$30 off During Our Annual Pro Sale. View Details »
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
0
590
The Dark Art of Debugging
A talk about developing the soft-skills required to be a good software debugger.
eojthebrave
May 22, 2015
Tweet
Share
More Decks by eojthebrave
See All by eojthebrave
Altering, Extending, and Enhancing, Drupal 8
eojthebrave
4
980
An Overview of the Drupal 8 Plugin System
eojthebrave
2
430
A Developers Primer to Managing Developers
eojthebrave
0
450
Building Web Services with Drupal 7
eojthebrave
0
410
We Need to Teach People Drupal 8. Now.
eojthebrave
0
320
Thoughts About Presenting
eojthebrave
0
360
Views! Huh? What is it good for?
eojthebrave
1
230
The Incredible Form API
eojthebrave
2
370
Recurring Billing is hard, is hard, is hard.
eojthebrave
2
540
Other Decks in Technology
See All in Technology
re:Invent2025 コンテナ系アップデート振り返り(+CloudWatchログのアップデート紹介)
masukawa
0
390
Lambdaの常識はどう変わる?!re:Invent 2025 before after
iwatatomoya
1
630
子育てで想像してなかった「見えないダメージ」 / Unforeseen "hidden burdens" of raising children.
pauli
2
290
AIの長期記憶と短期記憶の違いについてAgentCoreを例に深掘ってみた
yakumo
4
440
MLflowダイエット大作戦
lycorptech_jp
PRO
1
140
re:Invent 2025 ~何をする者であり、どこへいくのか~
tetutetu214
0
220
ActiveJobUpdates
igaiga
1
140
年間40件以上の登壇を続けて見えた「本当の発信力」/ 20251213 Masaki Okuda
shift_evolve
PRO
1
140
AI駆動開発の実践とその未来
eltociear
1
250
AlmaLinux + KVM + Cockpit で始めるお手軽仮想化基盤 ~ 開発環境などでの利用を想定して ~
koedoyoshida
0
110
寫了幾年 Code,然後呢?軟體工程師必須重新認識的 DevOps
cheng_wei_chen
1
1.5k
AWS運用を効率化する!AWS Organizationsを軸にした一元管理の実践/nikkei-tech-talk-202512
nikkei_engineer_recruiting
0
110
Featured
See All Featured
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
160
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.7k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Thoughts on Productivity
jonyablonski
73
5k
How to Ace a Technical Interview
jacobian
281
24k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.2k
Marketing to machines
jonoalderson
1
4.3k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.6k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Site-Speed That Sticks
csswizardry
13
1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
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