【问题标题】:Is it possible to get a core dump of a running process and its symbol table?是否可以获得正在运行的进程及其符号表的核心转储?
【发布时间】:2010-09-09 06:00:24
【问题描述】:

是否可以获取 gdb 或使用其他一些工具来创建正在运行的进程的核心转储及其符号表?如果有办法在不终止进程的情况下做到这一点,那就太好了。

如果可以,你会使用什么命令? (我正在尝试在 Linux 机器上执行此操作)

【问题讨论】:

    标签: debugging coredump


    【解决方案1】:
    $ gdb --pid=26426 (gdb) gcore 保存的 corefile core.26426 (gdb) 分离

    【讨论】:

    • 你不需要设置 ulimit -c unlimited 因为 gdb 不尊重它(gdb 应该总是给你整个核心文件)。您也可以使用 cli 中的命令 gcore pid 来执行此操作,而无需运行 gdb。
    【解决方案2】:

    或者运行gcore $(pidof processname)

    这样做的好处是(通过运行 gdb 和向 CLI 发出命令)可以在最短的时间内连接和分离。

    【讨论】:

      【解决方案3】:

      您可以在 gdb 中使用generate-core-file 命令生成正在运行的进程的核心转储。

      【讨论】:

        猜你喜欢
        • 2017-11-19
        • 1970-01-01
        • 1970-01-01
        • 2013-08-05
        • 2013-11-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多