在dtrace中获取Erlang消息的消息内容

在dtrace中获取Erlang消息的消息内容,erlang,trace,dtrace,Erlang,Trace,Dtrace,我正在试验Erlang和dtrace,我想知道是否可以获得两个Erlang进程之间交换的消息内容。我特别感兴趣的是消息发送和消息接收探测 我看了看,也看了看这是否可能,但我没能取得任何进展 有没有办法做到这一点。如果没有,还有其他选择吗?此处第242行使用消息接收探测: (请注意,只有当 探测器本身已启用,这由位于的早期宏确定 227.) 有趣的是,消息本身没有公开,这就是为什么您无法跟踪它。然而,我认为修补虚拟机来做你想做的事情是可行的。您需要将消息作为字符串呈现到缓冲区中,并公开该缓冲区的

我正在试验Erlang和dtrace,我想知道是否可以获得两个Erlang进程之间交换的消息内容。我特别感兴趣的是
消息发送
消息接收
探测

我看了看,也看了看这是否可能,但我没能取得任何进展


有没有办法做到这一点。如果没有,还有其他选择吗?

此处第242行使用消息接收探测:

(请注意,只有当 探测器本身已启用,这由位于的早期宏确定 227.)

有趣的是,消息本身没有公开,这就是为什么您无法跟踪它。然而,我认为修补虚拟机来做你想做的事情是可行的。您需要将消息作为字符串呈现到缓冲区中,并公开该缓冲区的地址;这个成语的一个现有例子是