【问题标题】:Elixir: Resume code execution after reaching IEx.pryElixir:到达 IEx.pry 后恢复代码执行
【发布时间】:2017-09-24 23:29:03
【问题描述】:

在 ruby​​ 中,Ctrl - d 允许在到达binding.pry 后继续执行代码。 IEx.pry 在 Elixir 中的等价物是什么?

【问题讨论】:

    标签: elixir


    【解决方案1】:

    IEx.pry/0 中所述,您可以调用respawn 来恢复执行。

    这对于调试由特定进程执行时的特定代码块很有用。该进程成为 IEx 命令的评估者,并临时更改为具有自定义组长。这些值通过调用IEx.Helpers.respawn/0 恢复,这将启动一个新的IEx shell,释放被撬开的那个。

    iex(1)> defmodule A do
    ...(1)>   require IEx
    ...(1)>   def a do
    ...(1)>     a = 1
    ...(1)>     b = 2
    ...(1)>     IEx.pry
    ...(1)>     IO.puts a + b
    ...(1)>   end
    ...(1)> end
    {:module, A,
     <<70, 79, 82, 49, 0, 0, 12, 144, 66, 69, 65, 77, 65, 116, 85, 56, 0, 0, 0, 110,
       0, 0, 0, 12, 8, 69, 108, 105, 120, 105, 114, 46, 65, 8, 95, 95, 105, 110,
       102, 111, 95, 95, 9, 102, 117, 110, 99, ...>>, {:a, 0}}
    iex(2)> A.a
    Break reached: A.a/0 (iex:6)
    pry(1)> a
    1
    pry(2)> b
    2
    pry(3)> respawn
    
    Interactive Elixir (1.5.1) - press Ctrl+C to exit (type h() ENTER for help)
    3
    :ok
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-06
      • 2016-03-02
      相关资源
      最近更新 更多