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
Adora Nwodo
October 11, 2019
Programming
3
550
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
290
Getting Started With Data Structures
adoranwodo
1
440
StereoKit: The Open Source SDK for VR/MR
adoranwodo
0
150
Accessibility in the context of Mixed Reality
adoranwodo
0
53
Skills to Excel in Cloud Engineering
adoranwodo
0
420
The Opportunities In The Decade Of Mixed Realities
adoranwodo
0
78
7 Habits of Highly Effective Engineering Teams
adoranwodo
0
160
Designing secure cloud applications
adoranwodo
0
180
Building a sustainable personal brand
adoranwodo
0
120
Other Decks in Programming
See All in Programming
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
180
エンジニア向け採用ピッチ資料
inusan
0
160
Team operations that are not burdened by SRE
kazatohiei
1
190
Create a website using Spatial Web
akkeylab
0
300
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
310
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
1
120
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
4
930
Blazing Fast UI Development with Compose Hot Reload (droidcon New York 2025)
zsmb
1
190
0626 Findy Product Manager LT Night_高田スライド_speaker deck用
mana_takada
0
100
Cline指示通りに動かない? AI小説エージェントで学ぶ指示書の書き方と自動アップデートの仕組み
kamomeashizawa
1
570
AWS CDKの推しポイント 〜CloudFormationと比較してみた〜
akihisaikeda
3
310
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
330
Featured
See All Featured
Fireside Chat
paigeccino
37
3.5k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
700
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
RailsConf 2023
tenderlove
30
1.1k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.8k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Bash Introduction
62gerente
614
210k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Navigating Team Friction
lara
187
15k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
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