gpt4 book ai didi

c - 段错误 - 32/64 位问题?

转载 作者:行者123 更新时间:2023-11-30 17:54:01 26 4
gpt4 key购买 nike

我目前正在开发一个小项目,该项目捕获数据包并在超出特定限制时触发外部应用程序或脚本来处理以下步骤(例如警报、空路由等)。

我尝试使用此代码创建一个非常简单的触发器(“触发器”包含二进制文件或脚本的路径):

char * trigger_complete;
sprintf(trigger_complete, "%s %u %u %s %s %Lf", trigger, data[II].count, data[II].proto, inet_ntoa(data[II].src_ip), inet_ntoa(data[II].dst_ip), rate);
system (trigger_complete);

在我的 Ubuntu 12.04.1 LTS 上,它似乎可以正常工作,我使用“echo”应用程序进行了测试。

linux-gate.so.1 =>  (0xb779f000)
libpcap.so.0.8 => /usr/lib/i386-linux-gnu/libpcap.so.0.8 (0xb7752000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb75a8000)
/lib/ld-linux.so.2 (0xb77a0000)

在 Debian Wheezy 和“grml”实例上,执行二进制文件时出现段错误。 (我通过注释掉并重试来验证这个问题是由上面的代码引起的。)

linux-vdso.so.1 =>  (0x00007fff875ff000)
libpcap.so.0.8 => /usr/lib/x86_64-linux-gnu/libpcap.so.0.8 (0x00007fa9c6048000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa9c5cbe000)
/lib64/ld-linux-x86-64.so.2 (0x00007fa9c608d000)

我看到的唯一区别是架构,Ubuntu 系统是 32 位操作系统,而 Debian 是 64 位操作系统。

我不确定这是否是问题所在,但看起来确实如此。

谁能帮我解决这个问题吗?

提前谢谢您!

最佳答案

自从功能请求 mark a comment as an answer仍被拒绝,我将上述解决方案复制到此处。

...可能想要为trigger_complete分配一些内存! – 托马斯

关于c - 段错误 - 32/64 位问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15321507/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com