免费注册 查看新帖 |

Chinaunix

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

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

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

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

[quote]原帖由 "yvonne88"]唉呀,帮我分析一下阿, 我用了code编辑了阿  .再次声明 ,我就是小妹[/quote 发表:

请教问题不用把性别带上,有时候可能适得其反的。

再问你,你用CODE编辑了吗?我怎么没看到?

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

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

用gdb或是dbx跟一下啊,看在什么地方core了

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

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

原帖由 "assiss" 发表:
key = getpsk(addr, strlen(addr));
====
这句有问题。
addr你是声明为局部变量,没有初始化,里面内容为随机,不能使用strlen。


不会是这儿的问题吧?因为刚才我把执行过程中的key全打印出来了,结果是正确的啊,

不果thx 各位大哥小弟了啊

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

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

原帖由 "assiss" 发表:

请教问题不用把性别带上,有时候可能适得其反的。

再问你,你用CODE编辑了吗?我怎么没看到?


哦,好的,我以后注意不用了,我不会用,所以你没看到

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

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

原帖由 "yvonne88" 发表:


不会是这儿的问题吧?因为刚才我把执行过程中的key全打印出来了,结果是正确的啊,

不果thx 各位大哥小弟了啊

你还得把你的代码继续CODE一下,你自己看看,显示没正常的。
你给的代码不全,很难说是哪里出了问题。

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

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

  1. static vchar_t *
  2. ident_ir2mx(iph1)
  3.         struct ph1handle *iph1;
  4. {
  5.         vchar_t *buf = 0;
  6.      struct isakmp_gen *gen;
  7.         char *p;
  8.         int tlen;
  9.         int need_cr = 0;
  10.         vchar_t *cr = NULL;
  11.         vchar_t *vid = NULL;
  12.         /*by yvonne*/
  13.         vchar_t *h_psk=NULL;
  14.         vchar_t *hpsk=NULL;
  15.         /*by yvonne*/
  16.         int error = -1;
  17.         int nptype;
  18. /* create buffer
  19.         */
  20.         tlen = sizeof(struct isakmp)
  21.              + sizeof(*gen) + iph1->;dhpub->;l
  22.              + sizeof(*gen) + iph1->;nonce->;l;
  23. #ifdef CYH
  24. printf("\nnext is by yvonne\n");
  25. #endif
  26. /* by yvonne */
  27. if(iph1->;side==INITIATOR&&iph1->;approval->;authmethod==OAKLEY_ATTR_AUTH_METHOD_PSKEY&&iph1->;etype == ISAKMP_ETYPE_IDENT)
  28. {
  29. //取psk,给hpsk赋值
  30. #ifdef CYH
  31. printf("\nbegin getpskbyaddr function");
  32. #endif
  33.                                                                                           
  34.   if(NULL==(hpsk=getpskbyaddr(iph1->;remote)))
  35.       printf("\n hpsk is NULL\n");
  36.                                                                                           
  37. #ifdef CYH
  38. printf("\n finish  getpskbyaddr, begin eay_md5_one function");
  39. #endif
  40.                                                                                           
  41.     iph1->;h_psk= eay_md5_one(hpsk);
  42.                                                                                           
  43. #ifdef CYH
  44. printf("end eay_md5_one function");
  45. #endif
  46.                                                                                           
  47.     tlen += sizeof(*gen) + h_psk->;l;
  48.   }
复制代码

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

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

真是难为你了,都编辑第七次了。算了吧。呵呵。

再提供更多的信息吧,让大家帮你看看。
如果有CORE DUMP,最好按照楼上朋友的意见,GDB一下,看看具体问题出在哪里。

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

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

我也想gdb一下,可是是很多子程序源码文件,只有一个main文件的大型代码啊?我怎么用gdb啊?
难道我要敲入gdb 加一个文件名阿?
  没人用过racoon吗?
这是它的源码啊,我之不过改动了一下

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

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

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

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

我又调试了多次,是这句不对,hpsk=getpskbyaddr(iph1->;remote);
无论我把它移植到哪里,执行它的下下一句之前都显示段错误;
不过,不知道哪儿错了啊?
而未改动过的源码中:
iph1->;authstr=getpskbyaddr(iph1->;remote);就可以正确无误的执行啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP