如何在文件中读取dbg二进制输出?

时间:2011-05-05 19:12:05

标签: erlang

我用dbg跟踪我的系统。我用了

dbg:trace_port(file,{"/tmp/trace",wrap,atom_to_list(node()),10000000,20})

现在我有几个二进制文件。

从未真正使用过这些二进制转储..如何阅读它们? RB? disk_log?如何启动它们以查看日志文件?

3 个答案:

答案 0 :(得分:6)

首先使用trace_port获取类似的PortFun:

1> PortFun = dbg:trace_port(file,{"/tmp/trace",wrap,atom_to_list(node()),10000000,20}).

然后使用dbg:tracer启动将路由消息的跟踪器:

2> dbg:tracer(port, PortFun).

可以使用trace_client:

接收跟踪的输出
1> Pid = dbg:trace_client(file,FileName).
..
dbg output here...
..
2> dbg:stop_trace_client(Pid).

答案 1 :(得分:5)

我自己没试过,但dbg:trace_client/2看起来可以读取文件。

答案 2 :(得分:0)

除上述内容外,您还可以尝试et_viewer:file/1,它将在一个窗口中显示跟踪,您可以在其中逐个检查例如单个呼叫。

注意:该窗口中的垂直滚动在我的系统上无法正常工作,因此我只复制了文本并在编辑器中对其进行了检查。