Elixir debugging - could not find 'wxe_driver.so'

I am reading online and learning Elixir debugging features, yet I am finding some troubles:

The problem is that when I try to start graphical debugger, with :debugger.start()

I get an error:

18:28:42.590 [error] ERROR: Could not find 'wxe_driver.so' in: /usr/lib64/erlang/lib/wx-1.8.5/priv

{:error,
 {{:load_driver, 'No driver found'},
  [
    {:wxe_server, :start, 1, [file: 'wxe_server.erl', line: 65]},
    {:wx, :new, 1, [file: 'wx.erl', line: 115]},
    {:dbg_wx_win, :init, 0, [file: 'dbg_wx_win.erl', line: 46]},
    {:dbg_wx_mon, :init, 3, [file: 'dbg_wx_mon.erl', line: 114]}
  ]}}

Am I missing something?

Thanks

1 Like

Perhaps you forgot to install wx libraries on your system.

Aside of that, due to the concurrent nature of BEAM systems, it is hard to debug them in a gdb style debugger, as you can’t follow messages to other processes (easily) and only ever a single thread will be paused, which again might cause others to timeout and crash, because they are waiting for a response of the paused process.

Most often, simple printf style debugging using Logger.debug is much more helpful.

2 Likes

oops, I feel embarased, noticed when read your reply that I was missing in fact the wx libraries as of missing Gentoo’s useflag.

Thanks for the reply, as I also confirmed that doing it via Logger.debug or IO.inspect as I am currently doing is not as bad as one may think at the beginning.

1 Like