4
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>}

文件告诉:get_tracer退货the process or port to which all trace messages are sent.

但它并没有清楚地说明pid返回的是什么dbg:tracer

4

1 回答 1

1

正如您在pman中看到的,确实有两个进程:

  • <0.33.0>位于dbg:loop/2
  • <0.35.0>位于dbg:tracer_loop/2

你可以在这里看到他们在做什么:https ://github.com/erlang/otp/blob/maint/lib/runtime_tools/src/dbg.erl

我没有对此进行深入研究,但乍一看,前者似乎在做更多类似经理的工作,而后者实际上是在处理跟踪。

于 2012-11-01T00:57:21.977 回答