KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have some Ruby and Java background and I'm accustomed to having exact numbers of lines in the error logs. So, if there is an error in the compiled code, I will see the number of line which caused the exception in the console output. Like in this Ruby example: my_ruby_code.rb:13:in `/': divided by 0 (ZeroDivisionError) from my_ruby_code.rb:13 It's simple and fast - I just go to the line number 13 and fix the error. On the contrary, Erlang just says something like: ** 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 There are no line numbers to look at. And if I have two lines like X = Param1, Y = Param2, in 'my_fun', how can understand in which line the problem lies? Additionally, I have tried to switch to Emacs+Elang-mode from Vim, but the only bonus I've got so far is the ability to cycle through compilation errors inside Emacs (C-k `). So, the process of writing code and seeking for simple logical errors like 'no match of right hand side' seems to be a bit cumbersome. I have tried to add a lot of "io:format" lines in the code, but it is additional work which takes time. I have also tried to use distel , but it requires 10 steps to just open a debugger once. Questions: What is the most straight and simple way to debug Erlang code? Does Emacs' erlang-mode has something superior in terms of Erlang development comparing to Vim? What development 'write-compile-debug' cycle do you prefer? Do you leave Emacs to compile and run the code in the terminal? How do you search for errors in your Erlang code?
Tags (comma-separated)
Save Edits
Cancel