一、问题描述:
在收报回调函数的入口没有收到数据报文,或者只收到一个报文。
二、解决方法:
1、检查网络端口是否有设置成promisc,如果没有,用命令 ifconfig eth1 promisc,将网口设置成promisc模式(混杂模式)。
2、用工具flow.sh检查程序是否有passby了。如果程序passby,那程序可能是死循环或者死锁了。
3、如果是在ESXI虚拟环境上,检查一下是不是设置的虚拟网络有问题。有可能是没有设置成混杂模式。如果设置成了混杂模式,那也可能有问题,通常换一个虚拟的网络试试。 最后就是将虚拟机重启一下也会好。
三、passby的定位方法:
1、gdb
2、attach 进程号
3、info threads
4、bt 线程号。