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

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

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

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

Ответы [ 3 ]

1 голос
/ 09 февраля 2012

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

0 голосов
/ 21 августа 2012

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

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

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

0 голосов
/ 01 мая 2011

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

...