Shai Almog

Talk to the Duck - Secrets of the Debugging Masters

What if you could debug your code by going back in time? Discover how "Jump to Line" and other underutilized features can transform your workflow.

Talk to the Duck - Secrets of the Debugging Masters
#1about 3 minutes

The humbling power and mindset of debugging

Debugging is a humbling experience that grounds developers and managers by revealing their own simple mistakes.

#2about 2 minutes

Move the instruction pointer with jump to line

Avoid restarting the debugger by using the "jump to line" feature to drag the execution pointer backward or forward to re-run or skip code.

#3about 1 minute

Use tracepoints for dynamic, non-suspending logging

Add dynamic log statements using tracepoints, which are non-suspending breakpoints that evaluate and print expressions without pausing the application.

#4about 3 minutes

Use advanced breakpoints for methods and exceptions

Target multiple methods at once using wildcard method breakpoints and filter out internal JVM exceptions by applying class filters to exception breakpoints.

#5about 4 minutes

Inspect state with watch expressions and object marking

Enhance the watch area by displaying method return values and using object marking to save an object reference for later comparisons in conditional breakpoints.

#6about 2 minutes

Visualize reactive code with the stream debugger

Use the stream debugger tool to break down and visualize each stage of a Java stream, showing how each element is transformed through the pipeline.

#7about 5 minutes

Create custom data views with debug renderers

Customize how objects are displayed in the watch area by creating custom renderers that can execute code, such as querying a database for a record count.

#8about 2 minutes

Track object allocations with the memory debugger

Use the memory view to identify memory leaks by tracking all new object instances created between two steps and viewing their full allocation stack traces.

#9about 1 minute

Understand the risks of traditional remote debugging

Traditional remote debugging in production is extremely risky, creating major security vulnerabilities, stability issues, and privacy compliance problems.

#10about 5 minutes

Use developer observability for safe production debugging

Developer observability tools allow for safe production debugging by adding dynamic logs, non-breaking snapshots, and metrics within a secure sandbox.

Related jobs
Jobs that call for the skills explored in this talk.

Software Engineer

tree-IT GmbH
Bad Neustadt an der Saale, Germany

Remote
Intermediate
Senior

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.

android developer

android developer

yusuf
Andijan, Uzbekistan

Remote
Junior
CSS
Java
HTML
JavaScript
+1
Rust and GoLang

Rust and GoLang

NHe4a GmbH
Karlsruhe, Germany

Remote
55-65K
Intermediate
Senior
Go
Rust
Backend Engineer (m/w/d)

Backend Engineer (m/w/d)

fulfillmenttools
Köln, Germany

35-65K
Intermediate
TypeScript
Agile Methodologies
Google Cloud Platform