Linux 用GDB生成的进程的核心转储包含什么?

Linux 用GDB生成的进程的核心转储包含什么?,linux,debugging,memory,gdb,core,Linux,Debugging,Memory,Gdb,Core,很明显,GDB可以生成一个进程的核心转储,例如通过它的包装器gcore,但是不清楚它到底包含了什么,而且很难找到一个answear,因为不同的来源说了完全不同的事情 因此,我有以下问题: 它是否包含整个进程的虚拟内存?如果没有,是哪一部分?所有可写区域或堆栈仅或仅(顾名思义)某些基本部分或什么 是否可以通过GDB生成具有完整进程内存的核心文件?如果是,怎么做 根据进程的内存映射保存和连接所有区域的内存而生成的“转储”与使用gcore命令自动生成的文件有什么区别 一个进程将一些数据写入RAM的某个

很明显,GDB可以生成一个进程的核心转储,例如通过它的包装器gcore,但是不清楚它到底包含了什么,而且很难找到一个answear,因为不同的来源说了完全不同的事情

因此,我有以下问题:

  • 它是否包含整个进程的虚拟内存?如果没有,是哪一部分?所有可写区域或堆栈仅或仅(顾名思义)某些基本部分或什么

  • 是否可以通过GDB生成具有完整进程内存的核心文件?如果是,怎么做

  • 根据进程的内存映射保存和连接所有区域的内存而生成的“转储”与使用
    gcore
    命令自动生成的文件有什么区别

  • 一个进程将一些数据写入RAM的某个地方。我能否确保数据将(始终)访问并保存在使用
    gcore
    命令生成的核心文件中?若否,原因为何?这取决于什么