当前位置:  技术问答>linux和unix

请各位linux高手帮忙, Segmentation fault 错误

    来源: 互联网  发布时间:2016-06-18

    本文导语:  #define MSG_FILE "/tmp/dbg.msg"  #define BUFFER 512  #include  #include  #include  #include  #include  #include  #include  #include  #include  #include  #include  #include  #include  #include  #include  #include  struct msgtype {  long mtype;  char buffer...

#define MSG_FILE "/tmp/dbg.msg" 
#define BUFFER 512 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
struct msgtype { 
long mtype; 
char buffer[BUFFER]; 
}; 

int main(int argc, char *argv[]) 

struct msgtype msg; 
key_t key; 
int msgid,ln,size; 
struct sockaddr_in sa;
unsigned long sd;
sd = socket(AF_INET,SOCK_DGRAM,0);
if(sd==0xffffffff){
//printf("create socket error %dn",errno);
exit(1);
}
sa.sin_family = AF_INET;
sa.sin_addr.s_addr = INADDR_ANY;
sa.sin_port = htons(0);
if(bind(sd, (struct sockaddr*)&sa,sizeof(struct sockaddr))){
//printf("bind socket error: %d n",errno);
exit(1);
}
#if 0
if(argc>1)
sa.sin_addr.s_addr = inet_addr(argv[1]);
else
#endif
sa.sin_addr.s_addr = htonl(0xc0a80208);
sa.sin_port = htons(58000);
sa.sin_family = AF_INET;
if((key=ftok(MSG_FILE,'a'))==-1) 

//printf("Creat Key Error:%dn",errno); 
exit(1); 


if((msgid=msgget(key,0666|IPC_CREAT|IPC_EXCL))==-1) 

//printf("Creat Message Error:%dn",errno); 
exit(1); 


while(1) 

ln = msgrcv(msgid,&msg,511,1,0); 
        size = sizeof(struct sockaddr);
sendto(sd,(const char*)msg.buffer, ln,0,(const struct sockaddr*)&sa,size);

exit(0); 


找不到啥原因。请高手指正,万分感激

|
这种问题通常是你的编译工具链问题,或者是链接的libc不对。不要在你的代码上找了,不信你自己写个hello,world都会死掉。

|
  是库 的 区别吧? 

|
Segmentation fault 基本上就是指针越界访问这个错了。
仔仔细细的找了一遍,没发现错误。 
难道我眼花了?

sa.sin_addr.s_addr = htonl(0xc0a80208); 
这步感觉不对,楼主再check一下?

|
单步调试了吗?
执行到哪一行报错了?

    
 
 

您可能感兴趣的文章:

  • linux+SDL segmentation fault
  • linux下信号11 (Segmentation violation (ANSI))是何种错误,急!急!急!急!
  • 请教关于在redhat linux 9下的rhide1.5.1和dev-c++运行错误:Segmentation fault
  • Linux 下 memcpy()有Segmentation fault
  • 求救:linux 执行sort时报Segmentation fault 错误
  • linux中C程序出现Segmentation fault。。。
  • linux C程序,请问下面一个程序为什么会出现Segmentation fault ??
  • 在linux下编译程序,在程序结束时出现segmentation fault..实在想不通,求教高手!!
  • Linux下C编程问题:段错误,Program received signal SIGSEGV, Segmentation fault.请教各位!
  • linux下运行C程序的错误信息为 segmentation fault
  • linux/centos安装nginx常见错误及解决办法
  • linux安装codeblock 编译错误make: *** [all-recursive] 错误 1
  • Linux下怎样查c程序的错误号?程序出现错误:System error 32: Broken Pipe, 是什么原因?
  • 紧急求救:在LINUX下如何根据错误代码,查出对应的错误描述?
  • 在Linux系统上recv返回错误,通过errno得到的错误消息为"Interrupted system call"
  • FTP匿名登陆 LINUX 出现错误 linux FTP 550 permission
  • linux 编程获取错误信息有没相关资料?
  • windows下好使的函数到linux下怎么就段错误了呢?
  • linux中非正常关机,出现的错误如何解决?
  • 请问,我用turbo Linux,远程FTP报Password required, but none set错误
  • linux安装错误,怎么解决
  • Linux 下用什么函数查找socket上一次的错误?
  • Linux硬件错误检查工具 mcelog
  • Linux启动错误求助!
  • VM下的linux Socket程序怎么客户机一连接就出现Bad address的错误?
  • 我向linux内核里加载模块时出现段错误
  • Linux虚拟机启动出现错误
  • 为什么每次登录 linux 都出现这句错误信息呢?
  • linux源码包编译有错误
  • Linux下调用.so引发的段错误问题
  • linux下配置PHP 编译的时候出现错误
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux!我来了------我是新人,还请大家多多帮忙
  • 装linux遇到问题,有高手在线帮忙吗?请发信息给我
  • 各位,帮忙推荐几本深入学习Linux的书!!!
  • 请问想学linux,请帮忙推荐一本好书?
  • 关于linux裁剪内核,越小越好。大家多多帮忙。
  • linux安装错误,怎么解决 iis7站长之家
  • linux下的串口编程比较熟悉,麻烦帮忙!
  • 高手帮忙!linux初次安装的问题?
  • 高手们快来帮帮忙啊,,好郁闷!!!LINUX 9.0装不上的问题!
  • 帮忙推荐一本linux编程的好书!!!
  • 大家帮忙,推荐个好版本的Linux
  • 急!高手帮忙!cximage库在Linux下运行使用的问题。
  • 帮忙推荐个linux
  • linux的网络访问?请帮忙!
  • ★★★在linux下编译pro*c文件,提示"sqlcxt"没有定义,哪位高手帮忙,定赠分!
  • 急!大家帮帮忙!有哪些视频点播系统能在在LINUX下安装以及怎样安装!
  • 急!大家帮帮忙!有什么视频点播系统能在LINUX下安装,以及怎样安装!!
  • 请各位帮忙推荐几本Linux多进程编程的好书
  • 升级Linux的问题,急!请高手帮忙!
  • Linux学习,高手帮忙
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • linux命令大全详细分类介绍及常用linux命令文档手册下载


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3