Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Productive Debugging. Because time is money
Search
Adora Nwodo
October 11, 2019
Programming
3
580
Productive Debugging. Because time is money
Adora Nwodo
October 11, 2019
Tweet
Share
More Decks by Adora Nwodo
See All by Adora Nwodo
Harnessing the Power of AI in Open-Source Cloud Engineering
adoranwodo
2
310
Getting Started With Data Structures
adoranwodo
1
460
StereoKit: The Open Source SDK for VR/MR
adoranwodo
0
170
Accessibility in the context of Mixed Reality
adoranwodo
0
72
Skills to Excel in Cloud Engineering
adoranwodo
0
450
The Opportunities In The Decade Of Mixed Realities
adoranwodo
0
97
7 Habits of Highly Effective Engineering Teams
adoranwodo
0
190
Designing secure cloud applications
adoranwodo
0
200
Building a sustainable personal brand
adoranwodo
0
150
Other Decks in Programming
See All in Programming
Patterns of Patterns
denyspoltorak
0
330
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
280
Flutter On-device AI로 완성하는 오프라인 앱, 박제창 @DevFest INCHEON 2025
itsmedreamwalker
1
150
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
120
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
170
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
8
3.3k
Grafana:建立系統全知視角的捷徑
blueswen
0
210
Canon EOS R50 V と R5 Mark II 購入でみえてきた最近のデジイチ VR180 事情、そして VR180 静止画に活路を見出すまで
karad
0
140
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
1.8k
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
420
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
3
1.3k
SwiftUIで本格音ゲー実装してみた
hypebeans
0
500
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
980
30 Presentation Tips
portentint
PRO
1
170
Applied NLP in the Age of Generative AI
inesmontani
PRO
3
2k
Technical Leadership for Architectural Decision Making
baasie
0
180
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
120
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
286
14k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
31
Joys of Absence: A Defence of Solitary Play
codingconduct
1
260
Bash Introduction
62gerente
615
210k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
400
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Transcript
Productive Debugging. Because time is money.
2 @THEADORANWODO
3 @THEADORANWODO
HI, I’M ADORA! Software Engineer, Microsoft Dev Blog, YouTube @adorahack
Co-Organizer Android Ngr, GDG Ajah, Unstack @theadoranwodo 4
STORYTIME 5 The first computer bug was actually a moth
@THEADORANWODO
6
What is a debugger ? 7 @THEADORANWODO
Snapshot Debugger 8 Visual Studio Code Visual Studio Xdebug WinDbg
LLDB DBG @THEADORANWODO Debugger Examples PDB
WAYS TO DEBUG 9
LIVE DEBUGGING Step through code, set watches & breakpoints 10
@THEADORANWODO
@THEADORANWODO 11
JUST-IN-TIME DEBUGGING VS debugger launches when an app running outside
of it crashes 12 @THEADORANWODO
13 @THEADORANWODO
CRASH DEBUGGING Blue screen of death 14 @THEADORANWODO
15 @THEADORANWODO
CONSOLE DEBUGGING console.log(“hereeee”) console.log(“here again”) console.log(“here for real this time”)
16 @THEADORANWODO
17 @THEADORANWODO
REMOTE DEBUGGING Remote debug Azure app service, ASP.NET, C# or
C++ 18 @THEADORANWODO DO. NOT. TRY. THIS. IN. PRODUCTION.
19 @THEADORANWODO
TIME TRAVEL DEBUGGING Record program execution and replay later 20
@THEADORANWODO
21 @THEADORANWODO
IMPORTANT THINGS TO KNOW 22 @THEADORANWODO
BREAKPOINTS 23 Interrupt function execution either by explicitly setting it
or when a function occurs @THEADORANWODO
SYMBOLS 24 They are the record of how the compiler
turned source code into machine code @THEADORANWODO
SOURCE LINKING 25 It’s not me, it’s the library I’m
using @THEADORANWODO
PDB FILES 26 The .NET program database @THEADORANWODO
MANAGING STATE 27 Inspect state & manipulate it. Variable windows:
Autos, locals, watches Execution state: Call stack, thread & modules Registers, Disassembly, memory Interactive Windows Object IDs @THEADORANWODO
THE VS DEBUGGER 28 @THEADORANWODO
DEBUGGING TIPS TO HELP INCREASE PRODUCTIVITY 29 @THEADORANWODO
WATCH WINDOW SEARCH 30 @THEADORANWODO Image from Microsoft Dev Blog
31 @THEADORANWODO Image from Microsoft Dev Blog THE DEBUGGER DISPLAY
ATTRIBUTE new Book(){ id = 1, title = “Things fall apart”, author = “Chinua Achebe”, createdAt = “2019-10-10 00:00:00”, updatedAt = “2019-10-10 00:00:00” } This Book Object is cute but I want just “Chinua Achebe”
32 @THEADORANWODO Image from Microsoft Dev Blog THE DEBUGGER DISPLAY
ATTRIBUTE
33 @THEADORANWODO Images from Microsoft Dev Blog THE DEBUGGER DISPLAY
ATTRIBUTE
34 @THEADORANWODO Images from Microsoft Dev Blog WRITE EXPRESSIONS IN
THE DEBUGGER DISPLAY
35 @THEADORANWODO Images from Microsoft Dev Blog BREAK WHEN DATA
CHANGES
36 @THEADORANWODO Images from Microsoft Dev Blog HOW DO YOU
LOG DATA WHEN DEBUGGING? Tracepoints are console logs that studied abroad
37 @THEADORANWODO Images from Microsoft Dev Blog HOW DO YOU
LOG DATA WHEN DEBUGGING? Tracepoints are console logs that studied abroad
38 @THEADORANWODO Images from Microsoft Dev Blog EXPLICITLY WRITING TO
THE CONSOLE
39 @THEADORANWODO Images from Microsoft Dev Blog USING TRACEPOINTS
40 @THEADORANWODO Images from Microsoft Dev Blog SET CONDITIONS IN
TRACEPOINTS
41 aka.ms/watchwindowsearch aka.ms/debuggerdisplay aka.ms/managedatabreakpoints @THEADORANWODO
42 @THEADORANWODO
THANK YOU! 43 @THEADORANWODO