RHEL4 (и CentOS4) все еще поставляет gtk +-1.2 пакета. Похоже, что их гном - освобождает пакет, использует его.
Во-первых, Вы прокручиваете тот вывод c++filt
, какой demangles символы C++ в человекочитаемый, и исходный код способный перекрестной ссылкой вывод.
От этого Вы видите, что конструктор ПРОФИЛЯ звонил new[]
который заставил исключение быть повышенным, для которого нет никакого обработчика (станд.:: оконечный назван), который заставляет программу прерываться, генерируя дамп ядра.
Можно перенести вызов к new[]
в a try...catch
блок для наблюдения, каково исключение. Я не могу помнить первое, что пришло на ум что исключения new[]
может повысить и при каких обстоятельствах, но одна причина new
отказы являются поврежденной "кучей", обычно или от перезаписи границ выделения или от двойного delete
.
Можно диагностировать эти программы использования ошибок памяти как valgrind
(свободный) или purify
(коммерческий, принимая это все еще существует - я в последний раз использовал его 15 лет назад). valgrind
было бы хорошее начало, и оно покажет Вам Ваши ошибки памяти упомянутой выше формы.
Можно пойти глубже с использованием дампа ядра gdb
для осмотра отображения памяти программы в то время, когда это отказало но никто здесь не может действительно помочь с тем - необходимо знать, что структура кода и ожидаемого расположения памяти делает много с этим.