首页 > 解决方案 > 从 escript 访问 IEx.pry

问题描述

我是 Elixir 的新手,并且一直在调试我的代码,方法是从函数开始iex -S mix并在函数中放置IEx.pry断点。我现在已经将一些代码打包为命令行应用程序(使用),并在通过可执行文件运行我的代码后escript尝试调用。但是,该功能不可用——显然没有与可执行文件捆绑在一起。如何从我的可执行文件访问?IEx.pryescriptIExIEx.pry

标签: elixir

解决方案


虽然强烈不鼓励您这样做(escript被认为是发布/生产实体,您应该调试它直到它工作并随后发布)它仍然是可能的:只需iex在项目中的应用程序列表中列出mix.exs

def project do
  [
    app: @application,
    version: @version,
    ...,
    deps: [
      {:iex, "~> 1.6"},
      ...
    ]
  ]
end

并将其作为依赖应用程序启动,因为它可能需要启动

def application do
  [
    mod: {MyApp.Application, []},
    extra_applications: ~w|iex|a
  ]
end

推荐阅读