【发布时间】:2011-12-10 01:41:06
【问题描述】:
我有一个 linux 服务(c++,有很多可加载的模块,基本上是在运行时拾取的 .so 文件),它不时崩溃......我想了解这个崩溃并调查它,但是在那一刻我不知道如何进行。所以,我想问你以下问题:
- 如果 linux 服务崩溃,“核心”文件是在哪里创建的?我已经设置了ulimit -c 102400,这应该足够了,但是我在任何地方都找不到核心文件:(。
- 是否有任何跟踪服务的 linux 日志?服务自己的日志显然并没有告诉我我现在会崩溃......
- 可能是其中一个模块崩溃了……但是我不知道是哪一个。我什至不知道加载了哪些模块。你知道如何在 linux 中显示服务正在使用哪些模块吗?
- 在调试 linux 服务时您可能有任何其他提示?
谢谢 f-
【问题讨论】:
-
看看 strace。它将能够告诉您正在加载哪些模块。最简单的方法是集成到init脚本中并重定向到一个日志文件