Debugging and debugging tools in Elixir?

MartinElvar picture MartinElvar · Feb 25, 2015 · Viewed 14.9k times · Source

I've just started using Elixir, and have started a Phoenix project, which I enjoy a lot. Now by having rails background, I'm used to being spoiled with debugging tools like "debugger", "byebug" and so on; I was wondering if there are any similar tools for Elixir? How are you guys debugging your Elixir applications?

Even an equivalent to Rubys raise my_object.inspect, would do wonders!

Thank you

Answer

Paweł Obrok picture Paweł Obrok · Feb 25, 2015

You can use IEx

require IEx

value = {:some, :erlang, :value}
IEx.pry

If you start this program with for example iex -s program.exs (or iex -S mix for a project) you'll be asked if you want to allow prying into this code when it is reached and value will be available for you for inspection.

You can also just do print debugging using IO.inspect allowing you to output basically any erlang data structure.