【发布时间】:2021-03-07 01:52:57
【问题描述】:
我想像以前使用 Rails 一样调试 Phoenix 中的控制器,只需将 binding.pry 放在我想放置断点的任何地方,所以,我使用 IEx.pry 在 Phoenix 上尝试了同样的事情,如下所示:-
defmodule Rumbl.UserController do
use Rumbl.Web, :controller
require IEx
def index(conn, _params) do
IEx.pry
users = Repo.all(Rumbl.User)
render conn, "index.html", users: users
end
end
但它没有设置任何断点,而是在控制台上给出了这条消息。
Cannot pry #PID<0.352.0> at web/controllers/users_controller.ex:6. Is an IEx shell running?
我也尝试通过 iex -S mix 运行 Iex shell,但问题仍然存在。有没有,我错过了什么或者我做错了什么?
【问题讨论】:
-
iex -S mix出现什么错误?您是否也将phoenix.server作为参数传递了?试试iex -S mix phoenix.server。 -
1.停止当前服务器。 2. 使用
iex -S mix phoenix.server启动服务器。结果完全一样吗? -
ohh 所以,phoenix 服务器本身必须从 IEx shell 运行。明白了,现在工作正常。谢谢!!