我的程序是用C ++编写的。使用-g3-O0-ggdb标志使用gcc编译。当它崩溃时,我想打开它的核心转储。它会创建核心转储文件,还是我需要做一些事情以在程序本身或在执行该文件的计算机上启用核心转储创建?该文件的创建位置以及名称是什么?
您需要设置ulimit -c。如果此参数的值为0,则不会创建coredump文件。这样做:ulimit -c unlimited并检查是否一切正确ulimit -a。当应用程序完成某些不适当的操作时,将创建coredump文件。我系统上的文件名是core.<process-pid-here>。
ulimit -c
ulimit -c unlimited
ulimit -a
core.<process-pid-here>