【发布时间】:2017-07-02 04:43:18
【问题描述】:
尝试使用IEx.pry 调试项目,我发现我需要使用--werl 标志。我会将任何对此讨论有潜在解决方案的人推荐给:
Should --werl be made default?
我当前的项目有多个模块并使用 Plug.Router。我意识到在这种情况下,窥探可能不是最好的调试技术。还是……
我很想学习如何使用 pry 进行调试,所以我测试了一个与 this solution 非常相似的简单案例。简而言之,从进程环境中窥探变量需要IEx shell 在编译期间运行。这适用于上面链接的示例中的单个模块;但是,我当前的项目要求我 mix 项目目录。纠正我,也许有一种冗长的方法可以在 erlang 控制台中编译和运行项目目录?无论如何,mix run --no-halt 和 iex -S mix run 都不能用于窥探 Windows(后者请求 --werl 标志)。
然后我在一个更简单的项目上尝试了相同的任务,该项目没有使用 Plug,只有一个模块,一个递归计数器。尽管如此,我还是不能用--werl 标志iex -S mix 这个。 Erlang 控制台打开、关闭,应用程序未启动。
dddd
我推断我不能mix 带有--werl 标志的项目目录,但是我应该什么时候使用它?我怎样才能在 IEx shell 中窥探?如果可能的话,我宁愿不使用 Erlang 控制台。
阅读 IEx 的 Hex 文档:
这样的函数 [在他们的例子中是枚举] 在某些 Windows shell 上可能不可用。您可能需要在启动 iex 时传递 --werl 标志,如 iex --werl 以使其工作。 --werl 可以通过设置 IEX_WITH_WERL 环境变量来永久启用。
文档不再说明何时使用 --werl 选项。
显然,我是 Elixir 的新手,但这似乎不是一个明显的区别,尽管这个问题是在大约 2 年前提出的。
【问题讨论】:
标签: elixir