Ripster
Intellij-elixir phoenix debugger error
I’m trying to setup intellij to give it a try but I’m having trouble getting it working with Phoenix.
I have created a new Run/Debug configuration, set my program arguments to phx.server. When I run the project using the debug button it appears to run but when I visit the page I’m greeted with the error Internal server error. The console in intellij shows this:
[info] Running WebsiteWeb.Endpoint with Cowboy using http://0.0.0.0:4000
23:22:31 - info: compiled 6 files into 2 files, copied 3 in 587 ms
[info] GET /
[debug] Processing with WebsiteWeb.PageController.index/2
Parameters: %{}
Pipelines: [:browser]
[info] Sent 200 in 46ms
[info] Sent 500 in 66ms
[error] #PID<0.549.0> running WebsiteWeb.Endpoint terminated
Server: 0.0.0.0:4000 (http)
Request: GET /
** (exit) {%ArgumentError{message: "argument error"}, []}
Oddly enough when I run the project using the same configuration by clicking the “run” button in intellij it works perfectly fine.
Is there something I’m missing or have misconfigured? I’d like to be able to set break points and use the debugger.
Marked As Solved
KronicDeth
Given no other information and since the logger doesn’t show the error, I’m going to guess it is this bug, which was actually a bug with Logger, which turned out to be a bug with :dbg_ieval, which is part of the debugger in OTP. @josevalim fixed the :dbg_ieval bug, but that means you need to wait until the next version of OTP to be released to get the fix (or erlc just that module to get the fix).
You can work around the problem for now by excluding modules from being interpreted that trigger the bug. In most cases this will be modules that have Logger calls that take an anonymous function and then interpolate inside that anonymous function like
thing = ...
Logger.info(fn -> "thing=#{thing}" end)








