pkt_data是否持续占用内存?

时间:2015-05-11 06:17:33

标签: wireshark winpcap sniffer

我正在使用WinPcap开发嗅探器。由于我正在连续运行应用程序,6小时后RAM变满,并且没有响应。为什么记忆不断增加? const u_char* pkt_data每次占用记忆吗? 哪个变量在Pcap API中不断占用内存?如果是这样如何释放记忆?

1 个答案:

答案 0 :(得分:1)

  

每次const u_char* pkt_data是否占用记忆?

没有。在您的回调例程返回后(如果您使用pkt_datapcap_loop())或在下一次调用pcap_dispatch()之后,pcap_next()指向的内存不能保证保持分配状态或pcap_next_ex()。在WinPcap中,there's a fixed-size circular buffer into which packets are placed in the kernel,并将它们读入库中的单个固定大小的缓冲区。

  

哪个变量在Pcap API中连续占用内存?

无。正如nos所示,它可能是程序中的内存泄漏。