Почему дамп ядра моей программы всегда равен нулю байт при запуске на разделе NTFS, смонтированном в Linux?

#linux #bash #crash #crash-dumps #coredump

#linux #bash #сбой #аварийные дампы #coredump

Вопрос:

Я пытаюсь получить полезный дамп ядра из кода, который я пишу. Мой исходный код находится на разделе NTFS, который я разделяю между операционными системами Windows и Linux. Я занимаюсь разработкой под Linux и установил ulimit -c unlimited в своей оболочке bash. Когда я выполняю код в каталоге моего проекта на разделе NTFS и намеренно вызываю SIGSEGV или SIGABRT, система записывает файл дампа ядра с нулевыми байтами.

Если я выполняю двоичный файл в своем домашнем каталоге (раздел ext4), дамп ядра генерируется нормально. Я просмотрел справочную страницу core, в которой приведен список различных обстоятельств, при которых файл дампа ядра не создается. Однако я не думаю, что это проблема с разрешениями, поскольку все файлы и каталоги на этом разделе имеют полные права ( chmod 777 ).

Любая помощь или мысли приветствуются.

Комментарии:

1. Вы использовали ядро ntfs или пространство пользователя ntfs-3g для монтирования раздела?

Ответ №1:

Возможно, вам следует проверить этот файл (/proc /sys /kernel /core_pattern)

Ответ №2:

Каталог, в котором находится приложение, является точкой монтирования на другой машине Linux. Файл ядра не может быть записан на смонтированный диск, но должен быть записан на локальный диск.

http://www.experts-exchange.com/OS/Linux/Q_23677186.html

Вы можете создать ram-диск и поместить дамп ядра на ram-диск.

Комментарии:

1. Пожалуйста, не ссылайтесь на experts-exchange.com поскольку нам нужно зарегистрироваться, чтобы увидеть ответ. Было бы предпочтительнее включить сюда основные части ответа и предоставить ссылку для справки.

2. Я не собираюсь оспаривать точность вашего ответа, но он, к сожалению, не отвечает на вопрос. Операционная система не спрашивает, может ли быть записан основной файл; они спрашивают, почему это невозможно. Возможно, ответ на этот вопрос содержится в опубликованной вами ссылке, но у меня нет членства в experts-exchange, поэтому я не могу его увидеть (как указал @ j0k)

Ответ №3:

Достаточно ли свободного места в вашем разделе ntfs для создания дампа ядра? Смонтирован ли ваш раздел ntfs с правами чтения / записи (не только для чтения)?

Комментарии:

1. Да, и да. Прим. 48 ГБ свободного места, раздел смонтирован rw: /dev/sda5 on /mnt/data type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096) .