Understanding Java's Debugging Internals, Yarden Laifenfeld
Channel: Bulgarian Java User Group
Date: 2023-06-22

# Knowing your enemies is as important as knowing your friends. Understanding your debugger is a little of both. Have you ever wondered how Java debugging looks on the inside? On our journey to building a Java production-grade debugger, we learned a lot about its internals, quirks and more. During this session, we’ll share how debugging actually works in Java. We’ll discuss Java bytecode instrumentation, giving multiple examples to how this can be accomplished, and dive deep into utilizing the Java Agent API to create a debugger. But this talk is about more than just debuggers - it’s about changing your code as it is running, and understanding the JVM enough to manipulate it without disrupting it.