LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1380|回复: 6

求助:编写了有pipe的程序后gdb调试的时候为什么出现 Broken pipe的错误?

[复制链接]
发表于 2006-4-5 22:33:12 | 显示全部楼层 |阅读模式
错误提示如下:
Program received signal SIGPIPE, Broken pipe.
0x0062e7a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2

这是什么意思?
发表于 2006-4-6 13:53:18 | 显示全部楼层
plz give your program if possible
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-6 15:16:00 | 显示全部楼层
父进程:workspipe
子进程:armctrl

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2006-4-7 22:58:41 | 显示全部楼层
你的程序里面问题好多,起码从你上传的文件中看出。我这里都通不过编译,不知道你是怎么能够调试的。象这样的问题:
  1. int n[num] = 0;
  2. char line[maxline];
  3. char buf[2048] = "", numb[num][30] = "";
  4. char sendnum[num][4] = "", gnum[num][maxline] = "";
复制代码
这样是明显不对的,数组的初始化不能这样搞,下面这样就可以了:
  1. int n[num] = {0};
  2. char line[maxline];
  3. char buf[2048] = "", numb[num][30] = {""};
  4. char sendnum[num][4] = {""}, gnum[num][maxline] = {""};
复制代码

其他的错误你再看看吧,对了,还有一个问题,我得道个歉,那是以前的回帖中写错了。recv的使用可以看看man
       ssize_t recv(int s, void *buf, size_t len, int flags);
我以前明显不是这么写的,但是你好象把我以前写的照搬了。 sorry,sorry !!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-7 23:18:15 | 显示全部楼层

我晕,我传错了,传的是没改之前的。

不好意思,嘿嘿。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2006-4-8 00:49:49 | 显示全部楼层
在pc机上,下面几句是会出问题的:
  1. refextcon=0xce2783f0;
  2. extdbwth=0x05503002;
  3. extacon0=0x0fffffff;
复制代码
没有板子,不好调试(也许可以,可我不知道
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-8 10:28:09 | 显示全部楼层
谢谢斑竹大大,我这就去试试,多谢了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表