无法在 Solaris 上生成核心

问题描述 投票:0回答:1

我正在尝试使用 abort 来获取生成核心文件的进程,但没有成功。

abtest.c:

#include<stdlib.h>
#include <stdio.h>

int main() {
  printf("callign abort...\n");
  abort();
  printf(".. shouldn't get here\n");
  return 0;
}

程序输出:

callign abort...
Abort

但是我可以使用 gcore 转储核心文件。它是在当前目录中生成的。

我的 coreadm 输出:

     global core file pattern:
     global core file content: default
       init core file pattern: core
       init core file content: default
            global core dumps: disabled
       per-process core dumps: enabled
      global setid core dumps: disabled
 per-process setid core dumps: disabled
     global core dump logging: disabled
solaris coredump
1个回答
1
投票

我发现核心文件实际上是定向到 /var/core 而不是当前目录。不知道为什么,因为 coreadm 没有指出这一点。另外,如上所述,gcore 在我当前的目录中生成了核心文件。 无论如何,由于 /var/core 对我来说不可写,因此没有生成核心文件。使其可写并获得核心文件。

© www.soinside.com 2019 - 2024. All rights reserved.