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.

Fl4m3Ph03n1x

Fl4m3Ph03n1x

I use the ElixirLS addon for VSCode, but the debugging plugin has real issues. The main problem here is the fact that an Elixir app has several processes running concurrently and in parallel, so the debugger often goes completely bananas.

And never mind setting up the configurations, that’s uncharted territory few actually understand.

Unfortunately, as fair as I know, nothing beats using an IO.puts

Where Next?

Popular in Questions Top

LegitStack
I’m hoping you guys can give me some general advice and perhaps code examples if you’re feeling up to it. I’m very interested in Elixir,...
New
SoCreat
i’m a new one to elixir which editor can i use vs code? or atom? Thanks! :smiley:
New
Kagamiiiii
Student & New to elixir. Nice language. I want to convert a english character, e.g. “a”, which is stored in a variable, to it’s asci...
New
hariharasudhan94
I would like to know what is the best IDE for elixir development?
New
qwerescape
Is there a way to get the call stack or stack trace at any point in the code? Not from exceptions, but an expression that returns how the...
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
WestKeys
Currently suffering from paralysis by [HTTP client] analysis. This is rather unusual in Elixirland as there tends to be consensus on the ...
New
wernerlaude
In AR this is so simple @articles = current_user.articles How to do in Ecto? def index(conn, _params) do current_user = conn.assig...
New
lucidguppy
I have a super simple question about elixir - how would I take a file like this foo bar baz and output a new file that enumerates th...
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

Other popular topics Top

JDanielMartinez
Hi! May someone helps me, please! I have two apps into an umbrella project: the first one is Database, which manages queries, and the se...
New
ycv005
I have followed this StackOverflow post to install the specific version of Erlang. And When I am running mix ecto.setup then getting fol...
New
polypush135
As many of you may have realized by now (sorry for all the posts here) I’ve been working on a db problem where I’m trying to aggregate a ...
New
freewebwithme
Using vs code and installed ElixirLS: support and debugger. And I got an error popped up on start up says Failed to run ‘elixir’ comma...
New
danschultzer
None of the current solutions worked well for me, so I went ahead and built a user management system from scratch. This project took far...
548 27727 240
New
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
stefanluptak
Hello everybody, usually, I use a 29" ultra-wide monitor for VSCode which can easily accomodate explorer (files panel) + file with code ...
New
electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
AstonJ
by Lance Halvorsen Elixir and Phoenix are generating tremendous excitement as an unbeatable platform for building modern web application...
460 27162 124
New
lanycrost
Hi everyone! I need implement if…else if…else condition from my elixir code, and anymore of this control flow structures not work proper...
New

We're in Beta

About us Mission Statement