我一直在尝试使用int module来调试Elixir / Erlang,但我无法弄清楚如何检查绑定变量。我将IEx流程(元流程)附加到运行混合项目的另一个IEx流程,并使用int
模块中的函数来设置断点,步骤和恢复代码,并且一切正常。
我知道有get_binding
函数,但文档说这是从条件断点条件函数调用的。在任何情况下,我都不知道如何将绑定传递给此函数。
查看int.erl
中的源代码,我发现可以从元进程调用其他函数,包括各种meta
函数。我在调试过程中到达断点后调用meta(Meta, bindings, Stack)
的尝试会锁定元进程。我的电话看起来像这样(Elixir):
:int.meta(meta, :bindings, :nostack)
我尝试查看Erlang图形化调试器的源代码,但我无法完全遵循它。有人可以向我解释如何在达到断点后和步进代码后获取绑定吗?