Почему файлы дампа ядра сгенерированы?

Если этот класс «LogginOutInterceptor» не работает так, как вы хотите, просто используйте другой класс:

Ведение журнала запросов / ответов с Apache CXF в виде XML

[113 ] У меня была та же самая проблема давно, и использование класса в ответе работало для меня изумительно.

15
задан sawa 5 March 2014 в 08:14
поделиться

5 ответов

Процесс сбрасывает ядро, когда оно завершается операционной системой из-за сбоя в программе. Наиболее типичная причина этого заключается в том, что программа получила недопустимое значение указателя. Учитывая, что у вас есть спорадический дамп, вполне вероятно, что вы используете неинициализированный указатель.

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

Что касается того, что на самом деле представляет собой дамп ядра, посмотрите эту статью в Википедии:

24
ответ дан 1 December 2019 в 00:02
поделиться

Как уже говорилось другими, дамп ядра является результатом сбоя в программе.

Вы можете настроить, будет ли генерироваться дамп ядра с помощью команды ulimit . Ввод

ulimit -c 0

отключает генерацию файла ядра в активной оболочке.

Если программа, сгенерировавшая ядро, была построена с символьной информацией, вы можете выполнить сеанс посмертной отладки следующим образом:

gdb <pathto/executable> --core <corefilename>
12
ответ дан 1 December 2019 в 00:02
поделиться

Дампы ядра генерируются, когда процесс получает определенные сигналы, такие как SIGSEGV, которые ядро ​​отправляет ему, когда он обращается к памяти за пределами своего адресного пространства. Как правило, это происходит из-за ошибок в использовании указателей. Это означает, что в программе есть ошибка.

Дамп ядра полезен для поиска ошибки. Это образ памяти процесса во время проблемы, поэтому можно использовать отладчик, такой как gdb, чтобы увидеть, что тогда делала программа. Отладчик может даже получить доступ (иногда) к значениям переменных в программе.

Вы можете предотвратить создание дампов ядра с помощью команды ulimit.

8
ответ дан 1 December 2019 в 00:02
поделиться

Это инструмент чтобы помочь в отладке приложения, которое ведет себя плохо. Это'

6
ответ дан 1 December 2019 в 00:02
поделиться

You can avoid creating a core dump file by writing code that doesn't crash :)

Seriously, core dumps are useful because you can see the state of the program when it crashed, for "post mortem" debugging. You can open them in gdb and inspect the state of your program (especially if it was built with debugging).

Core dumps usually get made if the program has a SIGSEGV (usually caused by invalid pointer dereferencing), SIGABRT (which would happen if you called abort(), or in C++ by the default terminate() handler for exceptions in destructors etc) or some other fault. You can also trigger them explicitly with the debugger or programmatically.

If you've fixed all the bugs and it's perfect, you can delete them. Also, if you've changed your program in any way (and recompiled it) then they will become useless as the debug info now won't match what's in the core dump, so you can delete them then too.

2
ответ дан 1 December 2019 в 00:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: