免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1367 | 回复: 7
打印 上一主题 下一主题

[函数] 函数返回出错 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-08-27 14:09 |只看该作者 |倒序浏览
我调用一个函数
如:
int CheckNo(char *buf,int len)
{
    ......
   .......
   
  printf("aaaaaa\n";
   return 0;
}

main()
{
  int ret;
  .....
  ret = CheckNo(buf,100);
  printf("bbbbbb\n";

}
我明明看到屏幕aaaaa打印出来了,但是为什么函数没有出来?就是没法执行下去打印出bbbbb.

不知道这是什么原因引起的?

论坛徽章:
0
2 [报告]
发表于 2004-08-27 14:27 |只看该作者

函数返回出错

有没有core dump呢,程序有没有退出到提示符下呢?

论坛徽章:
0
3 [报告]
发表于 2004-08-27 14:32 |只看该作者

函数返回出错

这段代码我是通过fork子进程在执行的
我ps查看了进程,子进程退出了
没能看到core产生

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2004-08-27 16:30 |只看该作者

函数返回出错

应该是子进程出了问题吧,检查一下子进程退出的状态。

论坛徽章:
0
5 [报告]
发表于 2004-08-27 16:56 |只看该作者

函数返回出错

printf(bbbbbb是子进程里面的吗?

论坛徽章:
0
6 [报告]
发表于 2004-08-27 17:33 |只看该作者

函数返回出错

把输出改为无缓冲方式试试。如:

  1. fprintf(stderr, "bbbbbb\n");
复制代码

论坛徽章:
0
7 [报告]
发表于 2004-08-27 20:51 |只看该作者

函数返回出错

贴出CheckNO的代码看看,是不是其中有在函数返回时自动释放的变量(比如使用了smart pointer)?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
8 [报告]
发表于 2004-08-29 17:57 |只看该作者

函数返回出错

用dbxtra调试一下,估计是内存使用不当
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP