有什么方法可以浏览 erlang 术语存储 (ETS)

Is there some way to browse erlang term storage (ETS)

我有一个使用 erlang 术语存储的小型 Elixir 应用程序,我想浏览它并查看存储的内容。有没有办法用 Elixir 或 Erlang 做到这一点?

我想看看它有多大,里面有什么。

编辑:我知道我可以使用 :observer.start 查看进程,但是没有进程或应用程序被列为 ets。有 Elixir.Hex.Registry.ETS,但状态或其他进程信息看起来并不正确。

我也可以在 iex 中打印出来,但这不是很好的体验。

您可以为此使用 Observer 应用程序。它可以显示许多不同的东西,包括 ETS 表的内容。通过输入 Elixir shell:

来启动它
:observer.start

或者在 Erlang 中 shell:

observer:start().

为此,必须使用 WX 库构建 Erlang。

Observer User's Guide. Also, this blog post中有一些文档描述了如何使用 Observer 来观察远程 Elixir 节点,这对于生产系统是可取的。

如前所述,您可以使用 Observer。要查看 ETS tables,请单击 Table Viewer 选项卡,然后单击 select 您需要的 table,然后右键单击您可以选择查看 Table InfoShow Table Content.

要启动观察器,运行:

:observer.start

截图:

ets:i/1 是一种交互式浏览表格的方式:

http://erlang.org/doc/man/ets.html#i-1