wiki:ru/doc/tracingCrash

Version 2 (modified by slyfox, 15 years ago) (diff)

Исправлены опечатки

Итак, Вы - счастливый обладатель сообщения Segmentatiоn fault. Что дальше?

Нужно уведомить разработчиков, предоставив им максимум полезной информации.

Что делать

  1. Перво-наперво нужно собрать mc с отладочной информацией, и чем большее ее будет - тем лучше.

Чтобы добавить в mc отладочные секции - нужно собрать его с опцией для gcc -ggdb3 (максимум отладки). Для этого соберем исходники специальным образом:

$ ./configure <обычные-опции>
$ make CFLAGS=-ggdb3 # вот она, магия!
$ make install
  1. Явно включим разрешение на создание дампов памяти (так называемых core файлов) и в этой же shell сессии запустим mc
    $ ulimit -c unlimited
    $ mc
    
  1. Добъёмся падения mc и посмотрим на дамп (файл core, из которого mc запускался):
    $ gdb --quiet /usr/bin/mc core
    ...
    (gdb) bt
    <интересующий-вывод-1>
    (gdb) bt full
    <интересующий-вывод-2>
    
  2. Собираем интересующий-вывод-1 и интересующий-вывод-2 и отправляем по координатам

на главной (в списки рассылок или в jabber комнату, не забываем сообщить особенности воспроизведения ошибки и опции ./configure для сборки).

http://www.midnight-commander.org/browser/doc/FAQ <- ищем пункт 10.3 (англ. версия)