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 · World Congress 2026 Europe

2:14 min

Compiling and configuring the OpenJDK for direct debugging

Marco Sussitz Marco Sussitz · World Congress 2026 Europe

4:09 min

Tooling challenges with debugging, logging, and IDEs

Gonzalo Ortiz Jaureguizar Gonzalo Ortiz Jaureguizar · World Congress 2026 Europe

2:53 min

Introduction to live debugging and code hot swapping

Marco Sussitz Marco Sussitz · World Congress 2026 Europe

2:04 min

Discovering application crashes caused by excessive code hot swapping

Marco Sussitz Marco Sussitz · World Congress 2026 Europe

2:11 min

Debugging challenges inside closed source cloud native environments

Gerta Sheganaku +1 · World Congress 2023

Upcoming sessions on this topic

Open session

World Congress 2026 North America

September 25, 2026 · 14:50–15:20

Stage 6

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

September 25, 2026 · 14:10–14:40

Stage 7

Why Your iOS App Feels Broken After an Hour: Diagnosing Long-Session Performance on Real Devices

Vasuki Uday Kiran Vudathala

Staff Performance Engineer at ServiceNow

Vasuki Uday Kiran Vudathala
Open session

World Congress 2026 North America

September 24, 2026 · 16:10–16:40

Outdoor Stage

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

September 25, 2026 · 11:00–11:30

Outdoor Stage

Loop Engineering: Designing and Observing the Loops That Run Your Agents With Opik

Abigail Morgan

AI Developer Advocate at Comet

Abigail Morgan
Open session

World Congress 2026 North America

September 25, 2026 · 15:30–15:40

Outdoor Stage

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

September 24, 2026 · 14:10–14:40

Stage 2

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