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
Productive Debugging. Because time is money
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Adora Nwodo
October 11, 2019
Programming
3
590
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
320
Getting Started With Data Structures
adoranwodo
1
470
StereoKit: The Open Source SDK for VR/MR
adoranwodo
0
180
Accessibility in the context of Mixed Reality
adoranwodo
0
84
Skills to Excel in Cloud Engineering
adoranwodo
0
460
The Opportunities In The Decade Of Mixed Realities
adoranwodo
0
110
7 Habits of Highly Effective Engineering Teams
adoranwodo
0
200
Designing secure cloud applications
adoranwodo
0
210
Building a sustainable personal brand
adoranwodo
0
160
Other Decks in Programming
See All in Programming
Rails Girls Tokyo 18th GMO Pepabo Sponsor Talk
yutokyokutyo
0
200
AIに任せる範囲を安全に広げるためにやっていること
fukucheee
0
110
AI時代のソフトウェア開発でも「人が仕様を書く」から始めよう-医療IT現場での実践とこれから
koukimiura
0
130
「やめとこ」がなくなった — 1月にZennを始めて22本書いた AI共創開発のリアル
atani14
0
350
15年目のiOSアプリを1から作り直す技術
teakun
1
600
Premier Disciplin for Micro Frontends Multi Version/ Framework Scenarios @OOP 2026, Munic
manfredsteyer
PRO
0
210
AIコーディングの理想と現実 2026 | AI Coding: Expectations vs. Reality 2026
tomohisa
0
1k
grapheme_strrev関数が採択されました(あと雑感)
youkidearitai
PRO
1
210
API Platformを活用したPHPによる本格的なWeb API開発 / api-platform-book-intro
ttskch
1
120
Codexに役割を持たせる 他のAIエージェントと組み合わせる実務Tips
o8n
1
480
New in Go 1.26 Implementing go fix in product development
sunecosuri
0
330
nilとは何か 〜interfaceの構造とnil!=nilから理解する〜
kuro_kurorrr
3
1.6k
Featured
See All Featured
Accessibility Awareness
sabderemane
0
73
A Soul's Torment
seathinner
5
2.4k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
660
Utilizing Notion as your number one productivity tool
mfonobong
4
240
WCS-LA-2024
lcolladotor
0
470
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
140
Producing Creativity
orderedlist
PRO
348
40k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
210
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.4k
It's Worth the Effort
3n
188
29k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
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