看multitrace代码学习如何定制自己的dbg信息
October 27th, 2011
原创文章,转载请注明: 转载自系统技术非业余研究
本文链接地址: 看multitrace代码学习如何定制自己的dbg信息
multitrace是ttb应用带的一个例子,给了个例子让用户来格式化和定制自己的dbg信息。 文档在这里:
The module multitrace.erl which can be found in the src directory of the Observer application implements a small tool with three possible trace settings. The trace messages are written to binary files which can be formatted with the function multitrace:format/1/2.
代码太长,我就不贴了,可以点这里查看.
我演示下如何使用:
$ pwd
/home/chuba/otp/lib/observer/src
$ erlc multitrace.erl
$ erl
Erlang R14B04 (erts-5.8.5) [source] [64-bit] [smp:16:16] [rq:16] [async-threads:0] [hipe] [kernel-poll:false]
Eshell V5.8.5 (abort with ^G)
1> multitrace:schedule(self()).
ok
2> erlang:ports().
[#Port<0.1>,#Port<0.49>,#Port<0.406>,#Port<0.415>,
#Port<0.714>,#Port<0.720>]
3> multitrace:stop().
stopped
4> multitrace:format("nonode@nohost-schedule_trace").
Tracing started on node nonode@nohost at 2011-10-27 16:29:40,984702
Flags: [{[<0.47.0>],[running,timestamp]}]
in:
Process : <0.47.0>
Time : 2011-10-27 16:29:40,984453
Function : {dbg,req,1}
out:
Process : <0.47.0>
Time : 2011-10-27 16:29:40,984528
Function : {io,wait_io_mon_reply,2}
in:
Process : <0.47.0>
Time : 2011-10-27 16:29:40,984582
Function : {io,wait_io_mon_reply,2}
out:
Process : <0.47.0>
Time : 2011-10-27 16:29:40,984635
Function : {io,wait_io_mon_reply,2}
in:
Process : <0.47.0>
Time : 2011-10-27 16:29:40,984662
Function : {io,wait_io_mon_reply,2}
out:
Process : <0.47.0>
Time : 2011-10-27 16:29:40,984720
Function : {shell,eval_loop,3}
in:
Process : <0.47.0>
Time : 2011-10-27 16:30:32,215798
Function : {shell,eval_loop,3}
out:
Process : <0.47.0>
Time : 2011-10-27 16:30:32,216096
Function : {code_server,call,2}
in:
Process : <0.47.0>
Time : 2011-10-27 16:30:32,216155
Function : {code_server,call,2}
Total time 'in' for process <0.47.0>: 484 micro seconds
ok
13>
我们可以在自己的项目里面结合ttb做些调试模块,方便在出现问题的时候定位问题。
祝玩得开心!
Post Footer automatically generated by wp-posturl plugin for wordpress.
Recent Comments