linux进程崩溃时收集/proc/<pid>进程信息

问题描述 投票:0回答:1

我正在尝试在恐慌期间收集进程的一些 proc 文件系统信息。有没有像脚本或任何程序之类的方法可以帮助收集这些信息并放置系统的某些目录。

我问的原因是了解进程恐慌的后期分析。

linux crash proc panic
1个回答
0
投票

使用

gdb
,它会在您的应用程序崩溃时停止,并且您会收到提示。然后您将能够:

  • 检查调用堆栈、变量、内存……是否可以访问源代码以及是否在编译过程中添加了调试信息
  • 检查
    /proc/<pid>
  • 的内容

典型例子:

$ gdb -ex 'run arg1 arg2 ... argN' faulty_app
(...)
Program received signal SIGSEGV, Segmentation fault.
0x000055555555513d in faulty_func ()

(gdb) (... do some stuff like e.g. backtrace ...)

(gdb) p (int)getpid()
$2 = 2993764

(gdb) !bash

$ cd /proc/2993764
(... do some stuff ...)

$ exit
exit

(gdb) quit
A debugging session is active.

    Inferior 1 [process 2993764] will be killed.

Quit anyway? (y or n) y
© www.soinside.com 2019 - 2024. All rights reserved.