Отладка
Отладка расчетных функций
Сложность отладки многоуровневых расчетных функций заключается в том, что данные проходят множество трансформаций и даже если заметна ошибка в результате не всегда понятно на какой именно фазе обработки она возникла. Для идентификации точки возникновения проблем используют: Условия срабатывания точек отладки (conditional breakpoints) которые поддерживают некоторые IDE; Отладка с использованием конструкций if (условие) внутри которой ставится точка остановки. Добавляя условия и перемещая точки отладки в разные уровни программы сможете сужать количество возможных вариантов и локализуете ошибку.
Помните, что лучше всего разрабатывать подобные алгоритмы при помощи тестов. Тестирование, в частности TDD, при правильном его использовании позволяет полностью отказаться от процесса отладки в силу того, что при использовании этого подхода вы всегда решаете только одну конкретную задачу (сфокусированы прохождение условия неработающего теста) в том время как другие тесты проверяют отсутствие деградаций.
Особенности реализации в некоторых языках могут усложнять отладку. Некоторые реализации хешей (например в Go) возвращают значение при циклическом проходе в случайном порядке.
Отладка последовательности перерисовки элементов в UI фреймворках
Repaint Rainbow - функция отладки приложения которая выделяет цветами перерисовываемые элементы экрана; Позволяет идентифицировать и оптимизировать места в которых происходит нежелательная перерисовка (refresh) элементов экрана.
Отладка JavaScript/TypeScript в браузере
Для активации режима отладки в браузере при использовании транспиляторов (например TypeScript) или полифилов необходимо подключить Source Maps. Для включение режима отладки в IDE JetBrains необходимо в режиме отладки добавить и настроить конфигурацию JavaScript Debug которая запустит браузер в режиме отладки, сам веб сервис может быть запущен параллельно из любой среды выполнения (поддержка отладки со стороны сервера не требуется).
Last updated
Was this helpful?