Johannes Bechberger
Debugging Unveiled: Exploring Debugger Internals and Hidden Gems
#1about 5 minutes
Why debuggers are an essential developer tool
Debugging helps find and fix bugs, analyze code, add logging, and change behavior on the fly.
#2about 4 minutes
Understanding the Java Platform Debugger Architecture (JPDA)
The JPDA consists of the Java Debug Interface (JDI), the Java Debug Wire Protocol (JDWP), and the JVM Tool Interface (JVMTI) to connect an IDE to a JVM.
#3about 4 minutes
Exploring on-demand and remote debugging features
Use remote debugging to connect to any JVM and leverage on-demand features like starting a debug session when a specific exception is thrown.
#4about 12 minutes
A deep dive into the Java Debug Wire Protocol (JDWP)
The JDWP facilitates communication between the debugger and the JVM through a series of requests, events, and replies to manage state and execution.
#5about 7 minutes
How conditional breakpoints are emulated by the IDE
Since the JVM lacks native support, IDEs emulate conditional breakpoints by suspending the thread at every hit and evaluating the condition on the client side.
#6about 6 minutes
Optimizing conditions and the impact on JIT compilation
Improve performance by embedding complex conditions in the code or a separate method, and be aware that setting any breakpoint de-optimizes the method.
#7about 6 minutes
How features like HotSwap and Force Return are implemented
Features like HotSwap, setting values, and forcing returns are implemented using specific JDWP commands that directly instruct the JVM to modify its state.
#8about 15 minutes
Key takeaways and Q&A on debugger internals
A summary of debugging best practices is followed by a Q&A session covering topics like cross-language debugging and future trends like Project Loom.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
34:50 MIN
Mastering basic and advanced debugging techniques
Let's make your Java code Bug-Proof
22:01 MIN
Understand the risks of traditional remote debugging
Talk to the Duck - Secrets of the Debugging Masters
00:03 MIN
Understanding the core concepts and tools of debugging
Debugging Go: from zero to Kubernetes
41:37 MIN
Modern developer tools and debugging workflows
WeAreDevelopers LIVE - Whats Nuxt and Next for app development, 20 years AJAX and more
56:20 MIN
Navigating the complexity of performance debugging tools
WeAreDevelopers LIVE - Rendering in the Browser, The State of CSS and Accessibility and more
10:07 MIN
How Java introduces new features safely
The Cool Thing about Cool Things in Java 16 & 17 LTS
44:10 MIN
Q&A on Java's future and developer career paths
Beam Me Up, Java! Unraveling the Warp-Speed Evolution: A Journey through Java LTS Versions 11 to 21
04:42 MIN
Debugging challenges in the cloud's black box environment
Cloud as the new mainframe: why the cloud hype does not reflect the dev reality
Featured Partners
Related Videos
Talk to the Duck - Secrets of the Debugging Masters
Shai Almog
Let's make your Java code Bug-Proof
Aicha Laafia
Java 21: The Revolution of Virtual Threads - A Deep Dive
Christian Woerz
Debugging in the Dark
Nishil Patel
Beam Me Up, Java! Unraveling the Warp-Speed Evolution: A Journey through Java LTS Versions 11 to 21
Jonathan Vila
Best of Java 15 and beyond—my favorite features
Michael Inden
Just-in-time Compilation in JVM
Daniel Strmečki
The Cool Thing about Cool Things in Java 16 & 17 LTS
Mohamed Taman
Related Articles
View all articles
.gif?w=240&auto=compress,format)
.gif?w=240&auto=compress,format)

From learning to earning
Jobs that call for the skills explored in this talk.

Senior Java Entwickler / Backend Developer (all genders)
wunschlösung GmbH
Jena, Germany
Intermediate
Senior
Java

Senior Java Entwickler / Backend Developer (all genders)
wunschlösung GmbH
Jena, Germany
Intermediate
Senior
Java
Docker
MongoDB

Software Developer (IntelliJ Platform - Version Control Experience) New
JetBrains GmbH
GIT
Gitlab
Kotlin
GraphQL

Java Developer
DIS AG




