站长网 教程 gcore 到底好不好用一看便知

gcore 到底好不好用一看便知

Linux 用户会很快指出,Linux 已经有一个叫gcore的命令,大多数 Linux 发行版都有这个命令,它的作用和 ProcDump 完全一样。你说的对。如果你从来没有使用过它,可以尝试用gcore来转储一个进程的核心。再次运行测试程序,然后运行gcore,并提供 PID 作为参

Linux 用户会很快指出,Linux 已经有一个叫 gcore 的命令,大多数 Linux 发行版都有这个命令,它的作用和 ProcDump 完全一样。你说的对。如果你从来没有使用过它,可以尝试用 gcore 来转储一个进程的核心。再次运行测试程序,然后运行 gcore,并提供 PID 作为参数:

$ ./progxyz &

[1]350664

$

$

$ pgrep progxyz

350664

$

$

$ gcore 350664

0x00007fefd3be2208in nanosleep ()from/lib64/libc.so.6

Saved corefile core.350664

[Inferior1(process 350664) detached]

$

gcore 打印一条消息,说它已将核心文件保存到一个特定的文件中。检查当前目录,找到这个核心文件,然后再次使用 gdb 加载它:

$

$ ls-l  core.350664

-rw-r–r–.1 root root 356848Jun2403:34 core.350664

$

$

$ file core.350664

core.350664: ELF 64-bit LSB core file, x86-64, version 1(SYSV), SVR4-style,from'./progxyz', real uid:0, effective uid:0, real gid:0, effective gid:0, execfn:'./progxyz', platform:'x86_64'

$

$ gdb-q ./progxyz ./core.350664

Reading symbols from./progxyz…(no debugging symbols found)…done.

[New LWP 350664]

Core was generated by `./progxyz'.

#0  0x00007fefd3be2208 in nanosleep () from /lib64/libc.so.6

Missing separate debuginfos, use: yum debuginfo-install glibc-2.28-101.el8.x86_64

(gdb) bt

#0  0x00007fefd3be2208 in nanosleep () from /lib64/libc.so.6

#1  0x00007fefd3be213e in sleep () from /lib64/libc.so.6

#2  0x00000000004005f3 in main ()

(gdb) q

$

为了使 gcore 可以工作,你需要确保以下设置到位。首先,确保为核心文件设置了 ulimit,如果设置为 0,核心文件将不会被生成。第二,确保 /proc/sys/kernel/core_pattern 有正确的设置来指定核心模式:

本文来自网络,不代表站长网立场,转载请注明出处:https://www.zwzz.com.cn/html/video/2021/0526/6806.html

作者: dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部