关于段错误,求解决
- C/C++ code
int skt; char ip_add[15], user[15];struct sockaddr_in server_addr;int err;skt = socket(AF_INET,SOCK_STREAM,0);if(skt<0){printf("socket 创建失败\n");return -1; } printf("输入服务器地址:\n"); scanf("%s",ip_add); printf("输入的ip地址长度为:%d\n",sizeof(ip_add)); printf("输入的ip地址为:%s\n",ip_add); bzero(&server_addr,sizeof(server_addr)); server_addr.sin_family = AF_INET; server_addr.sin_addr.s_addr = htonl(INADDR_ANY); server_addr.sin_port = htons(PORT); inet_pton(AF_INET,ip_add,server_addr.sin_addr); if(connect(skt,(struct sockaddr*)&server_addr,sizeof(struct sockaddr))< 0)进行gdb调试的时候 提示说这一句出现段错误:connect(skt,(struct sockaddr*)&server_addr,sizeof(struct sockaddr))< 0,求解决方法。。。
[解决办法]
我个人觉得是 connet的第三个参数有问题吧 你sizeof 的是什么啊 ! 自己改下看看 ! 高手不要拍我 学习学习
[解决办法]
什么错误,贴上来呗
[解决办法]
int WSAGetLastError(void);
可以获取看看错误信息。。。。
[解决办法]
进程意外退出会在当前目录下产生形如‘core.数字’的文件比如‘core.1234’
使用命令
gdb 运行程序名 core.数字
进入gdb然后使用bt命令
可以查看进程意外退出前函数调用的堆栈,内容为从上到下列出对应从里层到外层的函数调用历史。