arceny@arceny ~/prog/KGB $ gdb Test1
GNU gdb 6.5
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1".
(gdb) run
Starting program: /home/arceny/prog/KGB/Test1
Failed to read a valid object file image from memory.
Собственно ничего не дебажит. Система - Gentoo ~x86
Похоже на то, что исполняемый файл не elf-формата. Как собирал? с какими параметрами и библиотеками?
возможно и эльф, только для gdb нужны специальные эльфы, там должен быть соответствующий заголовок, и дебаг инфа. не gcc компилеры могут что-нить опустить.
пересобери свой Test1 вручную gcc, и попробуй еще.
Образование - это вовсе не то, чему человека учили, а то, чему он научился.
-----
Время, необходимое на компиляцию пакета обратно пропорционально его полезности и важности его наличия в системе.
Образование - это вовсе не то, чему человека учили, а то, чему он научился.
-----
Время, необходимое на компиляцию пакета обратно пропорционально его полезности и важности его наличия в системе.
Короче походу такая ошибка у меня со всеми имходниками. В чем проблема может быть - уму не приложу. И вообще, gdb как дебаггер сам по себе не очень удобен... Если бы ещё нормально работал.. Эх.
Образование - это вовсе не то, чему человека учили, а то, чему он научился.
-----
Время, необходимое на компиляцию пакета обратно пропорционально его полезности и важности его наличия в системе.
Ну, не видно всего кода, построчно выполнять не знаю как.. Короче я к тому, что gdb нужно юзать через какую нибудь оболочку приемлемую, но никак не в консольном варианте. Borland C 1993 года и то лучше выглядит консольный
По поводу binutils и прочего - недавно делал emerge -e system, так что врят ли.
Образование - это вовсе не то, чему человека учили, а то, чему он научился.
-----
Время, необходимое на компиляцию пакета обратно пропорционально его полезности и важности его наличия в системе.
arceny@arceny ~/prog/KGB $ gdb Test1
GNU gdb 6.5
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1".
(gdb) run
Starting program: /home/arceny/prog/KGB/Test1
Failed to read a valid object file image from memory.
Собственно ничего не дебажит. Система - Gentoo ~x86
У меня такая же фигня, тока gdb 6.4, gentoo 2006.1 i686. Не знаю че делать. Перекомпиливал gcc в emerge --update world. У меня gcc 4.1.1.
Кто нить знает решение?
У меня такая же фигня, тока gdb 6.4, gentoo 2006.1 i686. Не знаю че делать. Перекомпиливал gcc в emerge --update world. У меня gcc 4.1.1.
Кто нить знает решение?
Если не ошибаюсь - GDB просто не может загрузить символьную информацию для glibc и т.д., т.е. отладка работает, но лишь для кода пользовательского приложения, и не работает для кода glibc и прочих библиотек, собранных без символьной информации.
Если не ошибаюсь - GDB просто не может загрузить символьную информацию для glibc и т.д., т.е. отладка работает, но лишь для кода пользовательского приложения, и не работает для кода glibc и прочих библиотек, собранных без символьной информации.
Не думаю, написал простешую программу на с++ , просто выводит пару строк текста. gdb ее загружает, ставлю бряк на main и когда запускаю на выполнение r то выдает эту фигню "Failed to read a valid object file", но бряк срабатывает. Можно даже пошаговую отладку делать, но display и watch выдают всякий бред, т.е. прочитать данные не удается и библиотеки тут вроде не причем. И кстати че за libgcc_s линкуется к программе? У других программ такого нет.
Загрузил gentoo 2006.1 livecd, там gdb работает как надо. Сильно сомневаюсь, что livecd будут делать с включением отладочной информации.
Загрузил gentoo 2006.1 livecd, там gdb работает как надо. Сильно сомневаюсь, что livecd будут делать с включением отладочной информации.
Это интересно - про LiveCD. У меня аналогичная проблема так и не решена - было намерение выбрать время и попробовать пересобрать glibc, но видимо это не поможет.
Это интересно - про LiveCD. У меня аналогичная проблема так и не решена - было намерение выбрать время и попробовать пересобрать glibc, но видимо это не поможет.
Да, не поможет, я пересобирал при обновлении системы )))
Когда собирал свой livecd с нуля на базе gentoo 2006.1 (stage3, без пересборки world или system) попробовал gdb, тоже самое. По инэту валяются какие то патчи для gdb, но фиг знает для каких версий. А самое главное такаяже фигня у людей с разными ядрами, gcc 3 и 4 и разными gdb. Чтобы это могло быть?
Забавно, но в ряде мест, в частности здесь, утверждается, что это баг ядра и новых версий GDB. Вроде бы у меня и на более старых ядрах было примерно такое же.
Забавно, но в ряде мест, в частности здесь, утверждается, что это баг ядра и новых версий GDB. Вроде бы у меня и на более старых ядрах было примерно такое же.
А как объяснить, что на gentoo livecd все нормально? Там gdb не самый новый, 6.4 из стабильной ветви.. Я дро 2,6,17 на сколько я помню.