【发布时间】:2011-10-24 13:53:25
【问题描述】:
我有一个在 Linux 上运行的 C 应用程序,它处理数千条消息……但几分钟后我运行该应用程序时却没有,它会引发以下错误:
sh:加载共享库时出错:libc.so.6:无法打开共享对象文件:错误 24
应用程序每秒处理大约 30 条消息,可能是文件打开句柄问题?
STDOUT 接收:“进程 19374 收到信号 11”
有什么想法吗?
感谢您的帮助;-)
林顿
【问题讨论】:
-
信号 11 表示分段错误。尝试使用调试器,例如gdb(“man gdb”寻求帮助)。不确定 libc 错误。应用程序启动了多少进程?进程 19374 是子进程吗?您能否列出应用程序崩溃前后运行的进程(“ps aux | grep
”)?错误消息的顺序是什么(在“进程 19374 收到信号 11”之前出现“无法打开共享对象文件”?) -
确保您没有泄漏文件描述符。
lsof -p <PID>可以告诉你你打开了什么。
标签: c