是否有办法浏览erlang术语存储(ETS)
我有一个使用erlang术语存储的小Elixir应用程序,我想浏览一下,看看存储了什么。有什么方法可以用长生不老药或Erlang来达到这个目的吗 我想看看它有多大,里面有什么 编辑:我知道我可以使用是否有办法浏览erlang术语存储(ETS),erlang,elixir,ets,Erlang,Elixir,Ets,我有一个使用erlang术语存储的小Elixir应用程序,我想浏览一下,看看存储了什么。有什么方法可以用长生不老药或Erlang来达到这个目的吗 我想看看它有多大,里面有什么 编辑:我知道我可以使用:observer.start查看流程,但没有一个流程或应用程序被列为ets。有Elixir.Hex.Registry.ETS,但是状态或其他进程信息看起来并不正确 我也可以在iex中打印出来,但这不是一个很好的体验。您可以使用Observer应用程序。它可以显示许多不同的内容,包括ETS表格的内容。
:observer.start
查看流程,但没有一个流程或应用程序被列为ets
。有Elixir.Hex.Registry.ETS
,但是状态或其他进程信息看起来并不正确
我也可以在iex中打印出来,但这不是一个很好的体验。您可以使用Observer应用程序。它可以显示许多不同的内容,包括ETS表格的内容。首先在Elixir shell中键入:
:observer.start
或者在Erlang shell中:
observer:start().
为了实现这一点,必须使用WX库构建Erlang
中有一些文档。此外,还介绍了如何使用Observer来观察远程Elixir节点,这对于生产系统是可取的。如前所述,您可以使用
Observer
。要查看ETS表格,请单击表格查看器
选项卡,然后选择所需表格,然后右键单击即可获得查看表格信息
或显示表格内容
的选项
要启动观察者,请运行:
:observer.start
截图:
ets:i/1是一种交互式表格浏览方式:
@mudasobwa这是一个很酷的功能,但它不适合浏览或探索数据。如果有一个答案被否决,为什么这个问题会被否决?如果我们有一个类似的问题,那么这个问题肯定不会那么糟糕,答案对我们很有帮助。因此,我可以从observer开始,它列出了应用程序和流程,但ETS没有在这里列出,至少没有这样列出。我会更新这个问题,让它更清楚。看起来这并没有包括所有的表格。当我运行
:ets.all
时,我可以在iex
中看到更多的表。我是否遗漏了一些明显的东西?这是观察者的默认行为。默认情况下,从doc显示ETS表,而不显示不可读的私人ETS表和OTP应用程序创建的表。使用菜单视图查看“系统”ETS表、不可读ETS表或Mnesia表。