首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Blackfin uClinux套接字创建失败

Blackfin uClinux套接字创建失败
EN

Stack Overflow用户
提问于 2013-12-03 04:54:39
回答 1查看 188关注 0票数 0

我的客户有一个旧版本的uClinux,内核2.6.22,在Blackfin戳板上运行。主应用程序被分成14个进程,另外还有一个运行在主板上的The服务器。

我们看到的bug是,当VOIP应用程序似乎耗尽了文件句柄并且无法创建新的套接字时,we服务器一直在愉快地运行。我已经尝试了我所知道的每种调试技术。我有一个JTAG调试器,但是内存对于调试符号来说太小了。我不能用Valgrind或类似的东西编译。有没有猜到?

谢谢,

麦克

EN

回答 1

Stack Overflow用户

发布于 2013-12-03 06:02:12

很可能你有一个文件描述符泄漏。无论如何,Valgrind都不是最好的追踪工具。

首先执行'ls -lah /proc/pid/fd‘。这将显示进程打开(和尚未关闭)的文件描述符的列表。如果你真的有一个文件描述符泄漏,你应该看到那里有很多条目。你泄漏的是哪种类型的文件描述符(文件、套接字等)也应该一目了然。

一旦你知道了这一点,你就会更好地知道在代码中的什么地方寻找泄漏。

文件系统已满的事实可能是另一个提示。如果您的应用程序正在创建一个文件并将其删除,但没有关闭文件描述符,那么您可能会有一堆文件,这些文件在树中找不到,但它们仍然会占用周围的空间。在这种情况下,您将在(符号链接的目标) /proc/pid/fd中看到文件名。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20337625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档