WeAreDevelopers LIVE Jan 19, 2024

Debugging Unveiled: Exploring Debugger Internals and Hidden Gems

Johannes Bechberger

Why do conditional breakpoints silently cripple your JVM performance? Uncover the hidden mechanics of Java debuggers to eliminate runtime overhead and master advanced troubleshooting workflows.

Pause
Mute Enter Fullscreen
#1 about 6 min

Using debuggers to understand software exceptions

Walking through a line counter program to demonstrate how stack traces guide software troubleshooting.

#2 about 2 min

Exploring the high-level Java platform debugging architecture

Tracing the communication layers connecting modern IDE clients directly to the runtime virtual machine.

#3 about 2 min

Best practices for remote JVM debugging

Configuring connection ports in development environments to attach debug agents remotely without exposing vulnerabilities.

#4 about 5 min

Triggering debug sessions with JVM parameters

Bootstrapping agents to pause execution precisely when target exceptions manifest during unpredictable application workloads.

#5 about 3 min

Inspecting Java debug wire protocol communication

Capturing raw socket events to reveal the high volume of request replies coordinating breakpoint events.

#6 about 7 min

Analyzing lifecycle events of a debugging session

Detailing the handshake sequence from initial class loading up to the first suspended thread execution.

#7 about 2 min

Disconnecting versus terminating debug processes in IDEs

Weighing whether to gracefully detach an active session or forcibly kill the entire virtual machine process.

#8 about 7 min

Uncovering the performance impacts of conditional breakpoints

Highlighting the network latency caused by synchronized back-and-forth roundtrips when checking complex boolean expressions.

#9 about 5 min

Optimizing breakpoint conditions via protocol tooling alternatives

Exploring experimental prefetching approaches and debug adapter specifications to evaluate state logic locally.

#10 about 3 min

Understanding JIT compilation and breakpoint de-optimization

Explaining how inserting single execution stops forces the runtime to discard highly optimized machine code.

#11 about 5 min

Modifying execution flow using native debugger functions

Altering memory state and variables mid-execution alongside advanced maneuvers like forcing early method returns.

#12 about 3 min

Evolving debugging tools across software language ecosystems

Comparing enterprise tooling capabilities with established remote debugging adapters in communities like the python ecosystem.

#13 about 8 min

Addressing condition evaluation and memory inspection questions

Clarifying where execution stops process logic and how debuggers preserve class structure invariants naturally.

#14 about 7 min

Exploring JVM crashes and future debugging trends

Tackling failure states involving native bindings alongside speculative reflections on handling massive virtual thread pools.

Matching moments

2:04 min

Utilizing the JVM tool interface for dynamic code changes

Marco Sussitz Marco Sussitz · WWC Europe 2026

2:14 min

Compiling and configuring the OpenJDK for direct debugging

Marco Sussitz Marco Sussitz · WWC Europe 2026

4:09 min

Tooling challenges with debugging, logging, and IDEs

Gonzalo Ortiz Jaureguizar Gonzalo Ortiz Jaureguizar · WWC Europe 2026

2:53 min

Introduction to live debugging and code hot swapping

Marco Sussitz Marco Sussitz · WWC Europe 2026

2:04 min

Discovering application crashes caused by excessive code hot swapping

Marco Sussitz Marco Sussitz · WWC Europe 2026

2:11 min

Debugging challenges inside closed source cloud native environments

Gerta Sheganaku +1 · WWC 2023

Upcoming sessions on this topic

Open session

World Congress 2026 North America

Look What Java Can Do Now: Live-Coding a GenAI MCP Server with the JAQ Stack

Suren Konathala

Senior Engineering Leader, Marketing & AdTech, AI GTM & Digital Experience Platforms, Java x AI

Suren Konathala
Open session

World Congress 2026 North America

When Humans Stop Writing Code: Rethinking Languages, Compilers, and Responsibility

Simon Auer

Organizer of flutter vienna meetup and CEO of marqably

Simon Auer
Open session

World Congress 2026 North America

Offloading IoT State: Solving the Memory Crisis on Legacy Hardware

Pravin Nagare

Senior Software Engineer, Roku

Pravin Nagare
Open session

World Congress 2026 North America

Know Your Enemies: Live Exploit of a PHP Engine Security Breach

Alexandre Daubois

CTO of Les-Tilleuls.coop / Symfony Core Team / PHP & FrankenPHP Core Maintainer

Alexandre Daubois
Open session

World Congress 2026 North America

How to generate business value through performance optimizations

Nikolai Sidiropulo

Software Engineer at Meta

Nikolai Sidiropulo
Open session

World Congress 2026 North America

public void saveMoney(AI): The Developer's Guide to Unit Economics

Hrushikesh Pokala

Senior Software Engineer Lead at Equifax

Hrushikesh Pokala