免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: yvonne88
打印 上一主题 下一主题

好奇怪的段错误啊?半天没找出来,高手帮帮小妹啊!!! [复制链接]

论坛徽章:
0
21 [报告]
发表于 2005-09-12 22:01 |只看该作者

好奇怪的段错误啊?半天没找出来,高手帮帮小妹啊!!!

static vchar_t *ident_ir2mx(iph1)
struct ph1handle *iph1;
{
    vchar_t *buf = 0;
    struct isakmp_gen *gen;
    char *p;
    int tlen;
    int need_cr = 0;
    vchar_t *cr = NULL;
    vchar_t *vid = NULL;
    vchar_t *h_psk = NULL;
    vchar_t *hpsk = NULL;
    int error = -1;
    int nptype;
    tlen = sizeof(struct isakmp)
        + sizeof(*gen)
        + iph1->;dhpub->;l + sizeof(*gen)
        + iph1->;nonce->;l;
    if (iph1->;side == INITIATOR
        && iph1->;approval->;authmethod == OAKLEY_ATTR_AUTH_METHOD_PSKEY
        && iph1->;etype == ISAKMP_ETYPE_IDENT) {
        if (NULL == (hpsk = getpskbyaddr(iph1->;remote)))
        //hpsk,iph1->;remote都需要分配空间么?检查下
        //看看返回值是什么类型的?

            printf("\n hpsk is NULL\n";
        iph1->;h_psk = eay_md5_one(hpsk);
        tlen += sizeof(*gen) + h_psk->;l;
    }
}

论坛徽章:
0
22 [报告]
发表于 2005-09-12 22:08 |只看该作者

好奇怪的段错误啊?半天没找出来,高手帮帮小妹啊!!!

然后 我 将  下面代码                                                                                 
  1. if(NULL==(hpsk=getpskbyaddr(iph1->;remote)))
  2.      printf("\n hpsk is NULL\n");
  3.                                                                                          
  4. #ifdef CYH
  5. printf("\n finish  getpskbyaddr, begin eay_md5_one function");
  6. #endif
  7.                                                                                          
  8.    iph1->;h_psk= eay_md5_one(hpsk);
  9.                                                                                          
  10. #ifdef CYH
  11. printf("end eay_md5_one function");
  12. #endif
  13.                                                                                          
  14.    tlen += sizeof(*gen) + h_psk->;l;
  15. }
复制代码


改为:

  1. iph1->;h_psk= eay_md5_one(getpskbyaddr(iph1->;remote));
复制代码

可还是出现段错误啊

论坛徽章:
0
23 [报告]
发表于 2005-09-12 22:28 |只看该作者

好奇怪的段错误啊?半天没找出来,高手帮帮小妹啊!!!

晕。我的电脑被封网了。
你的程序产生了core了吗?
如果产生了,就用gdb xxx -c xxx.core
然后调用bt,看看产生core 的时候都调用了哪些函数。

论坛徽章:
0
24 [报告]
发表于 2005-09-12 22:37 |只看该作者

好奇怪的段错误啊?半天没找出来,高手帮帮小妹啊!!!

如何知道我的程序有没有产生core啊?我不懂啊

论坛徽章:
0
25 [报告]
发表于 2005-09-12 22:39 |只看该作者

好奇怪的段错误啊?半天没找出来,高手帮帮小妹啊!!!

还有那个xxx是什么啊?

论坛徽章:
0
26 [报告]
发表于 2005-09-12 22:40 |只看该作者

好奇怪的段错误啊?半天没找出来,高手帮帮小妹啊!!!

[quote]原帖由 "yvonne88"]如何知道我的程序有没有产生core啊?我不懂啊[/quote 发表:

看你写这么高深的程序,我还以为你懂了。   
看看你运行的目录下,有没有*.core文件,跟你的程序同名的。
另外,编译你的程序的时候,加上调试信息。你似乎用的不是gcc?

论坛徽章:
0
27 [报告]
发表于 2005-09-12 22:40 |只看该作者

好奇怪的段错误啊?半天没找出来,高手帮帮小妹啊!!!

我要晕倒了

论坛徽章:
0
28 [报告]
发表于 2005-09-12 22:44 |只看该作者

好奇怪的段错误啊?半天没找出来,高手帮帮小妹啊!!!

呵呵 别晕啊,我不懂的,我的makefile中定义的CC=gcc -g ;
所以用的是gcc ;
没有发现.core文件 ,怎么办啊

论坛徽章:
0
29 [报告]
发表于 2005-09-12 22:46 |只看该作者

好奇怪的段错误啊?半天没找出来,高手帮帮小妹啊!!!

你把原来代码贴出来 ,
然后再把你做改动的地方标出来吧。
都看晕了。

论坛徽章:
0
30 [报告]
发表于 2005-09-12 22:53 |只看该作者

好奇怪的段错误啊?半天没找出来,高手帮帮小妹啊!!!

caddr_t 的结构体是什么样的啊?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP