Практики отладки проектов на erlang

86 views
Skip to first unread message

Вячеслав Бричковский

unread,
Jan 21, 2015, 7:48:56 AM1/21/15
to erlang-i...@googlegroups.com
В принципе из коробки дается отладчик, вроде бы и простенький но на мой взгляд в нем присутствует все что нужно для отладки простого модуля:) Вопрос к уважаемым коллегам по цеху, какие вы используете приемы, свои какие либо наработки если речь идет об отладке более менее крупных вещей? Пишите ли скрипты либо вспомогательные модули?
P.S Сергей, видел у вас несколько интересных решений, вы бы не хотели как то далее развить тему, например, добавить вывод в консоль информации о времени загрузки приложения, может интересно было бы, добавить к примеру,  возможность добавлять предварительно составленный список функций и их аргументов, которые подлежат вызову, плюс вывод времени их отработки в файл либо консоль? 
P.P.S. Если уже есть готовые, общие известные решения прошу не серчать, но как на мой взгляд, взгляд хеллоувордщика, те инструменты которые идут к языку из коробки не совсем соответствуют  его потенциалу.

Игорь Проць

unread,
Jan 22, 2015, 4:10:50 AM1/22/15
to erlang-i...@googlegroups.com
Пишу тесты (ct, eunit), в основном. Если нужно время отработки функции, то пользуюсь timer:tc, вывод логирую или просто в консоль отдаю. Также активно пользуюсь обсервером, удобная штука. 

Сергій Костюшкін

unread,
Jan 22, 2015, 5:13:47 PM1/22/15
to
Я с дебагером игрался раза два от силы, не нужен он как по мне, на его изучение уйдет уйма времени, а смысла в нем почти нет.
Я обычно очень вдумываюсь в то что пишу, поэтому отладка нужна не так часто. В самых критичных местах, обязательно добавляется логирование. Если встречается краш-лог, смотрю первым делом, правда нужно научится понимать стек-трейсы.
Чтобы писать код "вдумчиво", не отлаживая каждый сомнительный момент, нужно переодически выделять время на всякие эксперементы, сравнивать подходы и техники, запоминать что работает быстрее, а что медленее, какие моменты могут приводить к ошибкам, старатся чтобы код был максимально логичным, смотреть на свой код, как бы со стороны, чтобы не писать откровенную ересь которую сам через год не поймешь. Очень важный момент, на который лично я много трачу времени, это именование функций и реже переменных. Дело в том что если имя функции обдумано плохо, то чтобы другому человеку понять что она делает придется лезть в ее код, если имя выбрано правильно то из названия все ясно.

Сори, но вопроса насчет интересных решений не понял.

середа, 21 січня 2015 р. 14:48:56 UTC+2 користувач Вячеслав Бричковский написав:

Євген Петро

unread,
Jan 29, 2015, 9:13:33 AM1/29/15
to erlang-i...@googlegroups.com

Есть два плагина: 
https://plugins.jetbrains.com/plugin/7083?pr=
http://erlide.org/

В обох есть отладчик. 
Более продвинутый в jetbrains. Хотя у меня там не все получилось. 

Графическим дебагером из коробки неплохо делал дебаг отладку ejabberd. 


середа, 21 січня 2015 р. 14:48:56 UTC+2 користувач Вячеслав Бричковский написав:
В принципе из коробки дается отладчик, вроде бы и простенький но на мой взгляд в нем присутствует все что нужно для отладки простого модуля:) Вопрос к уважаемым коллегам по цеху, какие вы используете приемы, свои какие либо наработки если речь идет об отладке более менее крупных вещей? Пишите ли скрипты либо вспомогательные модули?

Taras J. Honcharuk

unread,
Oct 18, 2016, 1:24:34 AM10/18/16
to erlang-i...@googlegroups.com
 
У Армстронга во втором издании 21 глава посвящена дебагингу
там описываются встроенные инструменты (profiling, coverage analysis, cross-referencing, runtime diagnostics, tracing, test frameworks etc.) 

среда, 21 января 2015 г., 14:48:56 UTC+2 пользователь Вячеслав Бричковский написал:
Reply all
Reply to author
Forward
0 new messages