Nvim

Nvim

Is there an Elixir editor with Debugger?

Is there any IDE or Editor that support Elixir/Phoenix/Ecto Debugging with breakpoints and watches and other stuff?

Most Liked

nathanl

nathanl

I understand that you want something different than what you’ve found, but your comment here is unhelpful.

did not work

Out of their own kindness, people have given you detailed instructions with screenshots. “Did not work” is your response - no detail about what went wrong, error messages, etc. Anyone else who might have the same problem gets no help from you here in tracking it down further.

Elixir is missing a good IDE, someone needs to step up

People have mentioned editors with debuggers, as you asked about. To dismiss them as not “good” is rather rude. If they don’t suit your needs, give details on why.

Nobody “needs to step up” to make something for free just because you want it. You are not surrounded by cowardly people, afraid to “step up” and take responsibility for something that is morally imperative to do, as your comment seems to imply. People just don’t all want the same thing.

Here’s how you could respond more constructively:

Thanks everyone for taking the time to help me with this. Unfortunately I’m still having trouble. I tried , but I still get an error like [y] when I [z]. For context, I’m using [OS version, Elixir version, editor configuration, commands typed, etc].

and/or

I wish there were an IDE that [does blah]. If there are others out there who feel the same way, [let’s work together to build one | I don’t have the skills to build one myself, but I’d be happy to support you building one with funding and documentation help].

kelvinst

kelvinst

I feel like tracing (or even IO.inspecting) makes a lot more sense than step-by-step debugging in Elixir, mostly because of the concurrence, pausing a process in the middle of its operation is not something that would normally occur on the BEAM, and can have side effects that would make the scenario totally different from the one you are trying to repeat.

tty

tty

My general advice for Erlang/Elixir programs is to never ever use a debugger. Instead rely solely on logs and the occasional tracing. Besides being concurrent there are two other reasons:

  1. no devops in their right mind would allow you to attach a debugger on a production system. Instead learn to rely on logs from the start. Can’t figure it out with your current logs ? Add more!
  2. a lure of functional programming is code correctness. By using small functions and pattern matching it is usually trivial to pin-point errors and these should mainly be pre-condition errors. Code too complicate ? Break them down into more functions.

Tracing is the main reason why no serious Elixir application should use POPs (plain old processes). With GenServer, GenStateMachine, GenEvent etc you can turn on/off tracing on the fly, in production and dev without worries.

Tracing is one of the great advantages of BEAM not really found in any other systems.

Where Next?

Popular in Questions Top

vertexbuffer
Hello, can anybody help here..? I have a list of players and I what to delete an element, but every for loop the list is reverting to ori...
New
Kurisu
For example for a current url like http://localhost:4000/cosmetic/products?_utf8=✓&query=perfume&page=2, I would like to get: ...
New
chrisalley
ExUnit now has describe blocks which is a welcome addition coming from RSpec. In the docs, it states that nested hierarchies of describe ...
New
lessless
I believe there are people here who are dealing with CSV files import on the daily basis, and since Excel is a really popular tool there ...
New
fireproofsocks
Forgive me if this is obvious, but how does one delete a database record WITHOUT selecting it first? Ecto.Repo — Ecto v3.14.0 has exampl...
New
Lily
In templates/appointment/index.html.eex: <%= for appointment <- @appointments do %> <tr> <td><%= appoi...
New
jay1
Why is it that the mnesia database isn’t the most preferred database for use in Elixir/Phoenix?
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 records...
New
dokuzbir
I want to highlight html closing tags when i click a html tag. That works in .html files but doesnt work for html.eex templates. How can...
New
senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New

Other popular topics Top

aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
skosch
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New
shahryarjb
Hello, I have map which I want to convert it to string like this: the map: %{last_name: "tavakkoli", name: "shahryar"} the string I ne...
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
josevalim
Hi everyone, One of the features added to Elixir early on to help integration with Erlang code was the idea of overridable function defi...
New
gausby
I asked this very same question on twitter and got some interesting feedback, but I thought it would be a good question to ask here as we...
1207 39523 209
New
joeerl
Hello again - after a longish gap I’ve decided I really must dig into Elixir and see what’s been happening here - so I have a few questio...
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
shijith.k
I am trying to start a new phoenix project with elixir 1.9, but mix phx.new does not work. It says that ** (Mix) The task "phx.new" could...
New
hariharasudhan94
Lets say I have map like this fetching from my database %{"_id" => #BSON.ObjectId<58eb1a7a9ad169198c3dXXXX>, "email" => ...
New

We're in Beta

About us Mission Statement