SlideShare a Scribd company logo
The Duck Teaches


Learn to debug from the
masters. Local to
production - kill the bugs
Shai Almog
@debugagent
The Duck Teaches  Learn to debug from the masters. Local to production- kill the bugs!
Agenda
Shai Almog
@debugagent
Agenda
Shai Almog
@debugagent
1. Installation (3 minutes)


2. Introduction - ~10 minutes slides


3. Flow and Break - 25 minutes


4. Watch - 25 minutes


5. Kubernetes debugging - 20 minutes


6. Developer Observability - 15 minutes


7. Q&A
Installation & Setup
Shai Almog
@debugagent
1. https://github.com/shai-almog/DuckWorkshop
(feel free to follow me while there)


2. IntelliJ/IDEA


3. Docker Desktop - Enable Kubernetes


4. Cloud Code Plugin


5. Jump to Line Plugin
Practical Debugging at Scale


Cloud Native Debugging in Kubernetes and
Production by Shai Almog


Apress publishing - coming soon
twitter.com/debugagent


debugagent.com


github.com/shai-almog
“If debugging is the process of removing
software bugs, then programming must
be the process of putting them in.” –


Edsger Dijkstra, computer science pioneer
Shai Almog
@debugagent
Act 1: Introduction
Some People Hate Debugging
Shai Almog
@debugagent
Bugs are Usually Stupid
Shai Almog
@debugagent
It’s a Humbling Experience
Shai Almog
@debugagent
Shai Almog
@debugagent
Shai Almog
@debugagent
“Debugging is like being the
detective in a crime movie where
you are also the murderer.” –


Filipe Fortes
Shai Almog
@debugagent
Act 2: Flow & Break
Return Immediately &


Force Throw
Shai Almog
@debugagent
Jump To Line
Shai Almog
@debugagent
Field Watchpoint
Shai Almog
@debugagent
Tracepoints/Logging
Shai Almog
@debugagent
Exception Breakpoints
that don’t Suck
Shai Almog
@debugagent
“Only when the tide goes out do you
discover who's been swimming naked” –


Warren Buffett
Shai Almog
@debugagent
Act 3: Watch
Watch the Return Value
Shai Almog
@debugagent
Object Marking
Shai Almog
@debugagent
Memory Debugging
Shai Almog
@debugagent
Stream Debugger
Shai Almog
@debugagent
Custom Rendering
Shai Almog
@debugagent
“The challenge with debugging is purging your
mind of what you think you know & being willing to
face cold, hard reality. Requires great effort, but the
reward (in addition to a working program) is a more
accurate understanding of reality.” –  Greg Brockman
Shai Almog
@debugagent
Act 4: Kubernetes Debugging
The Duck Teaches  Learn to debug from the masters. Local to production- kill the bugs!
Shai Almog
@debugagent
Shai Almog
@debugagent
kubectl debug
Shai Almog
@debugagent
KoolKits
Shai Almog
@debugagent
✓ sdkman


✓ jmxterm


✓ honest-profile


✓ jmxtrans


✓ async-profiler


✓ visualVM


✓ maven


✓ ant


✓ gradle


✓ bird


✓ calicoctl


✓ conntrack


✓ ctop


✓ curl


✓ dhcping


✓ dnsutils


✓ fping


✓ gdb


✓ htop


✓ httpie


✓ iftop


✓ iperf


✓ ipset


✓ iptraf-ng


✓ iproute2


✓ iputils-ping


✓ ipvsadm


✓ jq


✓ ldnsutils


✓ liboping-dev


✓ linux-tools-common


✓ maven


✓ mongo


✓ mtr


✓ mycli


✓ mysql-client


✓ netcat


✓ netgen


✓ nftables


✓ ngrep


✓ nmap


✓ pgcli


✓ postgresql-client


✓ redis-tools


✓ scapy


✓ socat


✓ software-properties-
common


✓ strace


✓ tcpdump


✓ tcptraceroute


✓ termshark


✓ tmux


✓ tshark


✓ unzip


✓ vim


✓ websocat


✓ wuzz


✓ zip
Shai Almog
@debugagent
KoolKits JVM Features
Remote Debugging - JDWP
Shai Almog
@debugagent
The Duck Teaches  Learn to debug from the masters. Local to production- kill the bugs!
The Duck Teaches  Learn to debug from the masters. Local to production- kill the bugs!
✓ Need to restart process


✓ Breakpoints… Break…


✓ Insecure by Design


✓ Stability Risk


✓ Privacy Nightmare
Shai Almog
@debugagent
JDWP & Local Debugging
“Debugging is twice as hard as writing the code
in the first place. Therefore, if you write the code
as cleverly as possible, you are, by definition,
not smart enough to debug it.” – Brian Kernigham
Shai Almog
@debugagent
Act 5: Developer Observability
Logs
Shai Almog
@debugagent
Snapshots
Shai Almog
@debugagent
Metrics: Counter/TicToc
Shai Almog
@debugagent
Summary
Shai Almog
@debugagent
✓ Use Tracepoints!


✓ Look at Memory and Change States


✓ Break on Exceptions


✓ Customize your watch area!


✓ Observe in production
Shai Almog
@debugagent
Summary
Practical Debugging at Scale


Cloud Native Debugging in Kubernetes and
Production by Shai Almog


Apress publishing - coming soon
twitter.com/debugagent


debugagent.com


github.com/shai-almog

More Related Content

PPTX
Pain Driven Development by Alexandr Sugak
PDF
Head first android apps dev tools
PPTX
Building Instruqt, a scalable learning platform
PDF
ICONUK 2015 - Gradle Up!
PDF
Grails beginners workshop
PDF
Linux Security and How Web Browser Sandboxes Really Work (NDC Oslo 2017)
PDF
Why Gradle?
PDF
Terraform GitOps on Codefresh
Pain Driven Development by Alexandr Sugak
Head first android apps dev tools
Building Instruqt, a scalable learning platform
ICONUK 2015 - Gradle Up!
Grails beginners workshop
Linux Security and How Web Browser Sandboxes Really Work (NDC Oslo 2017)
Why Gradle?
Terraform GitOps on Codefresh

Similar to The Duck Teaches Learn to debug from the masters. Local to production- kill the bugs! (20)

PDF
Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.
PDF
SF Gradle Meetup - Netflix OSS
PDF
PHP Mega Meetup, Sep, 2020, Anti patterns in php
PPT
How to start your open source project
PDF
Docker Basics & Alfresco Content Services
PDF
Front-End Modernization for Mortals
PDF
Front end-modernization
PDF
Front end-modernization
PDF
Keeping your build tool updated in a multi repository world
PPT
Life of a Chromium Developer
PPTX
Write microservice in golang
PDF
10 Ways To Improve Your Code
PPTX
Building a µservice with Kotlin, Micronaut & GCP
PDF
[2020 git lab commit] continuous infrastructure
PPT
Continuous Integration using Cruise Control
PDF
Real-World Docker: 10 Things We've Learned
PDF
Gr8conf EU 2013 Speed up your development: GroovyServ and Grails Improx Plugin
PDF
Sonatype DevSecOps Leadership forum 2020
PDF
Why your build matters
PDF
Vibe Coding_ Develop a web application using AI (1).pdf
Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.
SF Gradle Meetup - Netflix OSS
PHP Mega Meetup, Sep, 2020, Anti patterns in php
How to start your open source project
Docker Basics & Alfresco Content Services
Front-End Modernization for Mortals
Front end-modernization
Front end-modernization
Keeping your build tool updated in a multi repository world
Life of a Chromium Developer
Write microservice in golang
10 Ways To Improve Your Code
Building a µservice with Kotlin, Micronaut & GCP
[2020 git lab commit] continuous infrastructure
Continuous Integration using Cruise Control
Real-World Docker: 10 Things We've Learned
Gr8conf EU 2013 Speed up your development: GroovyServ and Grails Improx Plugin
Sonatype DevSecOps Leadership forum 2020
Why your build matters
Vibe Coding_ Develop a web application using AI (1).pdf
Ad

More from ShaiAlmog1 (20)

PDF
create-netflix-clone-06-client-ui.pdf
PDF
create-netflix-clone-01-introduction_transcript.pdf
PDF
create-netflix-clone-02-server_transcript.pdf
PDF
create-netflix-clone-04-server-continued_transcript.pdf
PDF
create-netflix-clone-01-introduction.pdf
PDF
create-netflix-clone-06-client-ui_transcript.pdf
PDF
create-netflix-clone-03-server.pdf
PDF
create-netflix-clone-04-server-continued.pdf
PDF
create-netflix-clone-05-client-model_transcript.pdf
PDF
create-netflix-clone-03-server_transcript.pdf
PDF
create-netflix-clone-02-server.pdf
PDF
create-netflix-clone-05-client-model.pdf
PDF
Creating a Whatsapp Clone - Part II.pdf
PDF
Creating a Whatsapp Clone - Part IX - Transcript.pdf
PDF
Creating a Whatsapp Clone - Part II - Transcript.pdf
PDF
Creating a Whatsapp Clone - Part V - Transcript.pdf
PDF
Creating a Whatsapp Clone - Part IV - Transcript.pdf
PDF
Creating a Whatsapp Clone - Part IV.pdf
PDF
Creating a Whatsapp Clone - Part I - Transcript.pdf
PDF
Creating a Whatsapp Clone - Part IX.pdf
create-netflix-clone-06-client-ui.pdf
create-netflix-clone-01-introduction_transcript.pdf
create-netflix-clone-02-server_transcript.pdf
create-netflix-clone-04-server-continued_transcript.pdf
create-netflix-clone-01-introduction.pdf
create-netflix-clone-06-client-ui_transcript.pdf
create-netflix-clone-03-server.pdf
create-netflix-clone-04-server-continued.pdf
create-netflix-clone-05-client-model_transcript.pdf
create-netflix-clone-03-server_transcript.pdf
create-netflix-clone-02-server.pdf
create-netflix-clone-05-client-model.pdf
Creating a Whatsapp Clone - Part II.pdf
Creating a Whatsapp Clone - Part IX - Transcript.pdf
Creating a Whatsapp Clone - Part II - Transcript.pdf
Creating a Whatsapp Clone - Part V - Transcript.pdf
Creating a Whatsapp Clone - Part IV - Transcript.pdf
Creating a Whatsapp Clone - Part IV.pdf
Creating a Whatsapp Clone - Part I - Transcript.pdf
Creating a Whatsapp Clone - Part IX.pdf
Ad

Recently uploaded (20)

PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Electronic commerce courselecture one. Pdf
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Encapsulation theory and applications.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
20250228 LYD VKU AI Blended-Learning.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Network Security Unit 5.pdf for BCA BBA.
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Programs and apps: productivity, graphics, security and other tools
Electronic commerce courselecture one. Pdf
sap open course for s4hana steps from ECC to s4
Encapsulation theory and applications.pdf
MIND Revenue Release Quarter 2 2025 Press Release
Unlocking AI with Model Context Protocol (MCP)
Spectral efficient network and resource selection model in 5G networks
Per capita expenditure prediction using model stacking based on satellite ima...
Advanced methodologies resolving dimensionality complications for autism neur...
Chapter 3 Spatial Domain Image Processing.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Reach Out and Touch Someone: Haptics and Empathic Computing

The Duck Teaches Learn to debug from the masters. Local to production- kill the bugs!