Лучший отладчик — сделанный своими руками

Java-разработчики привыкли: утекает память — запускай Eclipse Memory Analyzer, проблемы с производительностью — профилируй с YourKit. Но зачастую стандартных средств не хватает, например, когда ошибка проявляется только в production, куда и дебаггером не подключиться, и 10-гигабайтный Heap Dump не снять без перебоев в обслуживании.

Сделать собственный инструмент, заточенный под конкретную проблему, не так уж и трудно! Порой даже быстрее, чем найти готовое решение в интернете. JDK включает богатый инструментарий для написания всевозможных средств отладки и мониторинга: JVMTI, Dynamic Attach Mechanism, Serviceability Agent, Instrumentation API и т.п. В докладе будет показано, как ими пользоваться, будет рассмотрено, как устроены изнутри jstack, jmap и jstat. Кроме того, подобная утилита будет написана прямо во время доклада! За основу примеров взяты случаи из практики в «Одноклассниках», а также реальные проблемы разработчиков, обсуждаемые на Stack Overflow.

Андрей Паньгин, Одноклассники

Ведущий инженер проекта «Одноклассники» компании Mail.Ru Group. C 2011 года занимается программной платформой, лежащей в основе сервисов портала. До этого 6 лет работал в Sun Microsystems, разрабатывая виртуальные машины Java от CLDC HI до HotSpot JVM.

Интересуется низкоуровневым системным программированием. Увлекается покером. Катается на северных ездовых собаках.