Тесты:
[1] создание деления 0 в исполняемом файле было скомпилировано с помощью символов оптимизации (O2) и отладки, таким образом, ядро было сгенерировано.
[2] создание деления на 0 в общем объекте , который был скомпилирован с помощью символов оптимизации (O2) и отладки, таким образом было сгенерировано ядро.
Результаты:
[Первый] анализ ядра, сгенерированного [1], был успешным, и точное местоположение аварии можно увидеть в GDB / Totalview.
[Секунда] НЕуспешный анализ ядра, сгенерированного [2], и шестнадцатеричное числовое расположение было выходным результатом сокрушения.
может кто-нибудь сказать, как мне добиться успеха [2]?
Решил, Я открывал основной файл следующим образом:
затем были загружены двоичные символы, НО Никаких общих объектов !!!!!
идет следующим образом:
это вызывало загрузку двоичных символов, НО ТАКЖЕ загружались символы общих объектов !!!
спасибо за помощь.
Проверьте с ldd, что ваш общий объект может быть найден.
Если нет, попробуйте с переменной оболочки LD_LIBRARY_PATH
, чтобы задать его путь, и попробуйте еще раз gdb
.
Другой вариант - отредактировать конфигурацию /etc/ld.so.conf
и запустить ldconfig.