Автор Тема: gdb просит установить хэш файлы [решено]  (Прочитано 2237 раз)

Оффлайн avg2552

  • Давно тут
  • **
  • Сообщений: 90
После: Starting program: ...
Сообщения:
Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2
Try to install the hash file /usr/lib/debug/.build-id/48/3b975d668ba879afe6fe0118cbbe39e9129c29.debug
Missing separate debuginfo for /lib64/libc.so.6
Try to install the hash file /usr/lib/debug/.build-id/62/fb155c3f42228fa619abbfb4f4d6e0a6410d8f.debug

Подключены репозитории
http://ftp.altlinux.org/pub/distributions/ALTLinux/p7/branch/
x86_64
x86_64-i586
noarch

Установленные пакеты
libgdbm-1.8.3-alt9
gdb-7.5.0.20121002-alt3

Все обновлено.

Что забыл? Зачем эти хэш файлы? Где их взять?

Вроде работает, но строки с ошибкой не выводит. Или это в прошлых версиях было?
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7b53d7f in ?? () from /lib64/libc.so.6
« Последнее редактирование: 11.03.2014 14:16:53 от sb »

Оффлайн Vovka-Korovka

  • alt linux team
  • ***
  • Сообщений: 1 186
  • True Metal Cow
    • Email
Re: gdb просит установить хэш файлы
« Ответ #1 : 10.03.2014 21:27:42 »
Вы какую программу отлаживаете? Если из репозитория, то нужно еще подключить репозиторий debuginfo и поставить соответствующие debuginfo пакеты.

Оффлайн avg2552

  • Давно тут
  • **
  • Сообщений: 90
Re: gdb просит установить хэш файлы
« Ответ #2 : 11.03.2014 08:45:51 »
Код из википедии с умышленной ошибкой для проверки работоспособности отладчика
#include <stdio.h>
#include <string.h>
size_t foo_len (const char *s) { return strlen (s); }
 
int main (int argc, char *argv[]) {
  const char *a = NULL;
  printf ("size of a = %d\n", foo_len (a));
  return 0;
}

Компиляция: gcc 1.c -g -o 1
Запуск отладчика: gdb 1
затем: run
Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2
Try to install the hash file /usr/lib/debug/.build-id/48/3b975d668ba879afe6fe0118cbbe39e9129c29.debug
Missing separate debuginfo for /lib64/libc.so.6
Try to install the hash file /usr/lib/debug/.build-id/62/fb155c3f42228fa619abbfb4f4d6e0a6410d8f.debug

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7aafd31 in ?? () from /lib64/libc.so.6
Завершение отладчика: q

Если для этого случая debuginfo нужен, подскажите пожалуйста в каком репозитории его взять? В указанных в первом посте репозиториях Синаптик пакет debuginfo не находит.
« Последнее редактирование: 11.03.2014 08:48:22 от avg2552 »

Оффлайн Vovka-Korovka

  • alt linux team
  • ***
  • Сообщений: 1 186
  • True Metal Cow
    • Email
Re: gdb просит установить хэш файлы
« Ответ #3 : 11.03.2014 08:59:37 »
Для вашего случая debuginfo не очень нужен, только если вы хотите посмотреть в каком именно месте определения функции strlen произошла ошибка.  А так команда gdb 'bt' покажет вам всю необходимую информацию для диагностирования проблемы в данной ситуации. Но если очень хочется, то можно подключить репозиторий debuginfo

http://ftp.altlinux.org/pub/distributions/ALTLinux/p7/branch/x86_64/RPMS.debuginfo/

и установить соответствующие glibc-*-debuginfo пакеты.

Оффлайн avg2552

  • Давно тут
  • **
  • Сообщений: 90
Re: gdb просит установить хэш файлы
« Ответ #4 : 11.03.2014 13:28:53 »
Спасибо за ответы. Проблема решена.