#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)
.