Mam trochę tła Ruby i Java i jestem przyzwyczajony do posiadania dokładnej liczby linii w dziennikach błędów.Jak debugować kod Erlang?
Jeśli wystąpi błąd w skompilowanym kodzie, zobaczysz numer linii, która spowodowała wyjątek w wyjściu konsoli.
Podobnie jak w tym przykładzie Ruby:
my_ruby_code.rb:13:in `/': divided by 0 (ZeroDivisionError)
from my_ruby_code.rb:13
To proste i szybkie - po prostu przejść do linii numer 13 i naprawić błąd.
Wręcz przeciwnie, Erlang prostu mówi coś takiego:
** exception error: no match of right hand side value [xxxx]
in function my_module:my_fun/1
in call from my_module:other_fun/2
Brak numery linii patrzeć.
A jeśli mam dwie linie jak
X = Param1,
Y = Param2,
w „my_fun”, jak można zrozumieć, w którym linia leży problem?
Dodatkowo, próbowałem przejść do trybu Emacs + Elang z Vima, ale jedyny bonus, jaki mam do tej pory, to możliwość przechodzenia przez błędy kompilacji wewnątrz Emacsa (C-k `).
Zatem proces pisania kodu i szukania prostych błędów logicznych, takich jak "brak dopasowania po prawej stronie", wydaje się być nieco kłopotliwy.
Próbowałem dodać wiele linii "io: format" w kodzie, ale jest to dodatkowa praca, która wymaga czasu.
Próbowałem również użyć distel, ale wymaga to 10 kroków, aby otworzyć tylko jeden debugger.
Pytania:
- Co jest najbardziej prosty i prosty sposób do debugowania kodu Erlang?
- Czy tryb erlanga Emacsa ma coś lepszego pod względem rozwoju Erlanga w stosunku do Vima?
- Czy preferujesz program "write-compile-debug"? Czy zostawiasz Emacsa do kompilacji i uruchomienia kodu w terminalu? Jak szukać błędów w swoim kodzie Erlang?
Wybierz odpowiedź, na którą rozwiązałeś swoje pytanie, jeśli dotyczy. –