【发布时间】:2019-12-02 11:17:25
【问题描述】:
我在使用 libpcap 函数“pcap_findalldevs”时遇到问题。 问题是当我运行代码时出现“分段错误”。 代码是:
int listDevices()
{
int res = -1;
int count = 1;
pcap_if_t *device;
pcap_if_t **alldev;
char e_buffer[PCAP_ERRBUF_SIZE];
res = pcap_findalldevs(alldev, e_buffer); //Gives "segmentation fault" here
if (res == 0)
{
printf("Error reading list of devices: %s\n", e_buffer);
return res;
}
if (alldev == NULL)
{
printf("No devices founded!");
return 1;
}
device = *alldev;
while(device != NULL)
{
printf("%s\n", device->name);
device= device->next;
}
pcap_freealldevs(*alldev);
return 0;
}
观察变量,我可以看到 **alldev 给出的地址为 0x0,而其他地址则为“正常”地址。 我做错了什么?
提前谢谢你。
【问题讨论】:
标签: visual-studio-code segmentation-fault libpcap