Доклад

Дебаггинг в Java: полное руководство

На русском языке

Расскажу об основных средствах для дебаггинга JVM-приложений.

В начале покажу, чем дебаггинг отличается от других способов отладки, таких как логирование и трейсинг. Затем рассмотрю основные средства для поддержки дебага в JVM в составе архитектуры JPDA и трех ее основных компонентов: интерфейсов JVM TI и JDI и протокола JDWP. Далее покажу, как эти компоненты используются отладчиками современных IDE при работе с кодом на языке высокого уровня (Java, Scala, Kotlin) для отладки локальных и удаленных процессов, а также рассмотрю отладку при помощи консольного отладчика JDB.

Рассмотрю также нетривиальные случаи дебаггинга, такие как отладка автогерененного кода и отладка нативного кода. На примере Apache Spark покажу, как отлаживать приложения, состоящие из нескольких распределенных компонентов, запущенных на разных машинах. В заключении хочу сделать обзор методов для защиты от дебаггинга в JVM.

Спикеры

Доклады