sharptooth включен, когда спрашивает, какое утверждение приводит к дампу ядра. Поскольку вы не ответили, я думаю, вы, возможно, не знаете, как это сделать.
Прежде всего, убедитесь, что ваша программа составлена с отладочными символами. Предполагая, что вы используете gcc, вы делаете это, имея -g
в командной строке.
Далее, убедитесь, что ваша среда будет записывать файлы ядра. Сделайте это с помощью команды оболочки ulimit -c unlimited
(при работе в sh, bash и т. Д.) Или limit core unlimited
(при работе в csh).
Запустите программу и дайте ей сбой.
Далее, вызовите ядро в gdb с помощью gdb programname corename
.
Наконец, запустите команду backtrace
в gdb, чтобы увидеть, где произошел сбой.