Erlang 为什么dbg:tracer()返回的pid与dbg:get_tracer()不同 1>dbg:get_tracer()。 {错误,{节点上没有跟踪程序},nonode@nohost}} 2> dbg:tracer()。 {好的,} 3> dbg:get_tracer()。 {好的,}
提示:Erlang 为什么dbg:tracer()返回的pid与dbg:get_tracer()不同 1>dbg:get_tracer()。 {错误,{节点上没有跟踪程序},nonode@nohost}} 2> dbg:tracer()。 {好的,} 3> dbg:get_tracer()。 {好的,},erlang,dbg,Erlang,Dbg,提示:get\u tracer返回所有跟踪消息发送到的进程或端口。 但是它并没有清楚地告诉您由dbg:tracer返回的pid,正如您在pman中所看到的,实际上有两个过程: 位于dbg:loop/2 位于dbg:tracer\u循环/2 你可以在这里看到他们在做什么: 我还没有深入研究这个问题,但乍一看,前者的工作更像经理,而后者实际上是在处理痕迹。像这样的东西更多的是在幕后寻找,而不仅仅是阅读文档。这个问题很好地说明了文档如何具有误导性。 1> dbg:get_tracer().
get\u tracer
返回所有跟踪消息发送到的进程或端口。
但是它并没有清楚地告诉您由
dbg:tracer
返回的pid
,正如您在pman中所看到的,实际上有两个过程:
- 位于dbg:loop/2
- 位于dbg:tracer\u循环/2
我还没有深入研究这个问题,但乍一看,前者的工作更像经理,而后者实际上是在处理痕迹。像这样的东西更多的是在幕后寻找,而不仅仅是阅读文档。这个问题很好地说明了文档如何具有误导性。
1> dbg:get_tracer().
{error,{no_tracer_on_node,nonode@nohost}}
2> dbg:tracer().
{ok,<0.33.0>}
3> dbg:get_tracer().
{ok,<0.35.0>}