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でわかるように、実際には 2 つのプロセスがあります。

  • <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 に答える