加入收藏 | 设为首页 | 会员中心 | 我要投稿 大连站长网 (https://www.0411zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

gcore 到底好不好用一看便知

发布时间:2021-05-27 00:27:17 所属栏目:教程 来源:互联网
导读: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 有正确的设置来指定核心模式:

(编辑:大连站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!