A Deep Dive Into Java Debugging

This is the story of a Java debugging journey that started with a question I couldn't answer about Java stack traces. As a long-time Java programmer, I am approached for help by developers who encounter unusual problems in the language. Diving in and getting acquainted with all the dark corners of Java is something I really enjoy, mainly because I emerge with a better understanding of the language, and also because it equips our team with better tools to solve the everyday problems ... as well as the unusual ones.

Our trip takes us through a deeper look at Java lambdas and method references and ends up with a quick foray into the JVM code. We'll use a couple of debugging tools and techniques to figure it all out and learn a little about implementation details and diagnostic JVM options. It's a good example of how, with the source in hand, you can demystify a general phenomenon, such as missing frames.