Post on 08-Jul-2015
Основы отладкиrails-приложенийБазовые знания о базовом инструментарии
Ошибки
• Синтаксические• Семантические
• Воспроизведение• Анализ• Исправление• Внедрение исправления
Отладка приложения
• Аналитический• Экспериментальный
Поиск причины
• Анализ кода• Запуск в отладчике• Логирование• Unit-тестирование
• Прототипирование
Поиск причины
• Анализ memory-dump/корок
• Профилирование кода• Анализ документации• Трансляция кода
Поиск причины
• to_yaml - сериализация объекта
• inspect - дебаг-информация
• debug - хелпер для вьюх
• pp - форматированный вывод
debug/to_yaml/inspect
• Замена стандартного логера• Несколько уровней логирования• Анализ логов
Логи в rails
• В комплекте с Ruby
• Основной дебаг-функционал
ruby -rdebug test.rb
• Написан на C• rdebug test.rb
• Debbuger.start do ;end
ruby-debug
• Плагин к VIM
• Окно с переменными• Брекпоинты• Есть ньюанс с OS X
vim-ruby-debugger
vim-ruby-debugger
• Альтернатива стандартному IRB
• show-method/show-doc
• ls/cd
• edit-method
• find-method -c
Pry/Pry-rails
• Unit-тесты
• Патчи к ~/.irbrc
• Профайлинг приложения
Что ещё?
• Используйте инструменты• Исследуйте гемы• Пишите тесты• Будте любопытны!
Итоги