erlsnoop: erlang消息监听器 调试erlang网络程序利器

在erlang的邮件列表上看到:

Have you tried putting a snoop to see whether the delay is on the
sending/receiving side?

This might be useful: http://www.erlang.org/contrib/erlsnoop-1.0.tgz

http://www.erlang.org/contrib/看了下 模块真不少 下载了erl_snoop

先安装lib-pcap yum install libpcap-devel
yum install libpcap

编译出错:
ip.c:77: error: label at end of compound statement
随便在default: 后面加个return 0;

utils.c: In function 'gmt2local':
utils.c:26: error: storage size of 'sgmt' isn't known
utils.c:28: warning: implicit declaration of function 'time'
utils.c:31: error: dereferencing pointer to incomplete type
utils.c:31: warning: implicit declaration of function 'gmtime'
utils.c:31: error: invalid type argument of 'unary *'
utils.c:32: warning: implicit declaration of function 'localtime'
utils.c:32: warning: assignment makes pointer from integer without a cast
utils.c:34: error: dereferencing pointer to incomplete type
utils.c:34: error: dereferencing pointer to incomplete type
utils.c:35: error: dereferencing pointer to incomplete type
utils.c:35: error: dereferencing pointer to incomplete type
utils.c:42: error: dereferencing pointer to incomplete type
utils.c:42: error: dereferencing pointer to incomplete type
utils.c:43: error: dereferencing pointer to incomplete type
utils.c:43: error: dereferencing pointer to incomplete type
utils.c:26: warning: unused variable 'sgmt'
make: *** [utils.o] Error 1

加个 #include <time.h>

搞定 运行

[root@test98 erlsnoop-1.0]# ./erlsnoop -hpnkt
Erlsnoop 1.0 (Mar 4 2008)
using interface eth0 (mtu=1500)
using filter "tcp"
option -? gets help
type ^C to quit

[ 192.168.0.98:44683 (89.0.861.291|x#89.0.861.291|x) > 192.168.0.243:30141 (342.0.861.291|y#342.0.861.291|y) ] 160
REG_SEND from: #Pid<2.0.11.89.0.861.291|x#2.0.11.89.0.861.291|x> to: global_name_server

[ 192.168.0.98:44683 (89.0.861.291|x#89.0.861.291|x) > 192.168.0.243:30141 (342.0.861.291|y#342.0.861.291|y) ] 49
MONITOR from: #Pid<2.0.63.89.0.861.291|x#2.0.63.89.0.861.291|x> to: net_kernel
ref: #Ref<2.0.0.64.89.0.861.291|x#2.0.0.64.89.0.861.291|x>

[ 192.168.0.243:30141 (342.0.861.291|y#342.0.861.291|y) > 192.168.0.98:44683 (89.0.861.291|x#89.0.861.291|x) ] 161
REG_SEND from: #Pid<2.0.11.342.0.861.291|y#2.0.11.342.0.861.291|y> to: global_name_server

[ 192.168.0.98:44683 (89.0.861.291|x#89.0.861.291|x) > 192.168.0.243:30141 (342.0.861.291|y#342.0.861.291|y) ] 84
REG_SEND from: #Pid<2.0.63.89.0.861.291|x#2.0.63.89.0.861.291|x> to: net_kernel

效果不错的哦。可以看到erlang的交互信息, 详细请看README.txt

See http://www.javaeye.com/topic/167695

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License

Subscription expired — please renew

Pro account upgrade has expired for this site and the site is now locked. If you are the master administrator for this site, please renew your subscription or delete your outstanding sites or stored files, so that your account fits in the free plan.