Debugging Production: No Shifting, No Stopping, No Risking
We will discuss what is the challenge of debugging production versus normal debugging on a local (or remote) machine. We'll look at the traditional approach: logging and trying to reproduce the problem. And at a slightly less traditional one: Hot Code Replacement using java.lang.instrument.Instrumentation. We'll consider their limitations and move on to the sweet stuff: using JVMTI and a commercial product based on it.