I was trying to inspect something in Plug recently and found that my intuition was completely off.
The problem
My JavaScript background tricked me into thinking I could simply open the dependency `deps/plug/lib/plug/conn.ex` and then add `IEx.pry` at any line number I wanted to debug. Imagine my surprise when I started up Phoenix with iex and the debugger didn't prompt me with the usual Y/n.
Luckily debugging 3rd party code wasn't difficult to figure out. The radical shift from my JavaScript days is simply that you set breakpoints with IEx programatically instead.
break! Plug.Conn.put_resp_cookie/4
The example above shows how you would set a breakpoint to pause execution within IEx to debug the `put_resp_cookie` method inside of Plug.