如何从核心转储中获取打开的套接字?

时间:2017-11-01 04:40:13

标签: linux core

我有死进程的核心转储。我想看看该proclet在运行时打开的套接字?

是否可以看到netstats的输出为死进程核心转储?

如何从核心文件中获取内核指针?核心转储也是内核转储,还是只转储用户内存?

1 个答案:

答案 0 :(得分:0)

简短回答

你无法从核心转储中看到netstat的输出。 核心转储是针对进程本身的,包括应用程序代码和库调用,而不是内核,除非您的核心是内核崩溃转储。

答案很长

核心转储允许您查看:

  • 失败的时间戳
  • 失败时的活动线程
  • 导致失败的步骤(堆栈框架)

为了能够执行特定于应用程序的故障分析,例如您的情况下的套接字,您将不得不依赖日志文件或将特定日志作为应用程序的一部分进行编写。

如果您可以使用

再次运行该过程
$ strace -f -o output.txt <process-name>

这将允许您跟踪系统调用并找到成功的套接字系统调用和失败的套接字系统调用。跟踪保存到文件output.txt,您可以搜索系统调用。