Вызов abort () в MacOS приводит к перехвату, но дамп ядра не создается - PullRequest
0 голосов
/ 09 июня 2019

Я изучаю системное программирование в Linux и пробую функцию abort().В книге, из которой я изучаю, отмечается, что вызов abort() приводит к записи файла core до выхода из процесса и записи Abort (core dumped) в стандартный вывод (я также подтвердил этот вывод в некоторых вопросах SO, связанных с прерыванием работы),Однако из этой простой программы

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

int main()
{
    printf("Starting process %d\n", getpid());

    abort();
    return 0;
}

я получаю следующий вывод

Starting process 2753
Abort trap: 6

, и файл не создается.Я не могу понять почему.Разрешения для файла 0777.Любые идеи о том, почему это происходит?

PS: я использую macOS Mojave, компилятор gcc, или я так думаю.Это может быть лязг ... Это вывод gcc -v:

Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/c++/4.2.1
Apple LLVM version 10.0.1 (clang-1001.0.46.4)
Target: x86_64-apple-darwin18.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

, однако вывод which gcc равен /usr/bin/gcc.

...