permission denied Опубликовано 9 декабря, 2004 Жалоба Поделиться Опубликовано 9 декабря, 2004 Доброго всем времени суток! Может ли кто-нить обьяснить почему системный отладчик некорректо работает с приложением, использующим разделяемые библиотеки ? делаю : [user@work src]$ gcc -g file.c [user@work src]$ gdb a.out GNU gdb Red Hat Linux (6.0post-0.20040223.19rh) Copyright 2004 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 "i386-redhat-linux-gnu"...Using host libthread_db library "/lib/tls/libthread_db.so.1". (gdb) run Starting program: /usr/home/user/src/a.out Error while mapping shared library sections: : Success. Error while reading shared library symbols: : No such file or directory. Error while reading shared library symbols: : No such file or directory. Error while reading shared library symbols: : No such file or directory. Program exited with code 01. (gdb) q [user@work src]$ когда собираю тот же бинарник с ключом -static, всё нормально отлаживается. В чём тут может быть причина ? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
EL[michlen] Опубликовано 9 декабря, 2004 Жалоба Поделиться Опубликовано 9 декабря, 2004 Вполне может быть в путях к этим библиотекам. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
permission denied Опубликовано 9 декабря, 2004 Автор Жалоба Поделиться Опубликовано 9 декабря, 2004 Да как бы не похоже. Приложение исполняется без всяких вопросов, но когда его надо отлаживать, то возникает такая хрень. А какие переменные окружения стоит проверить или выставить? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
EL[michlen] Опубликовано 9 декабря, 2004 Жалоба Поделиться Опубликовано 9 декабря, 2004 Цитата: [user@work src]$ gdb a.out Можно попробовать написать путь к библиотеке в параметре -s к gdb. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
permission denied Опубликовано 10 декабря, 2004 Автор Жалоба Поделиться Опубликовано 10 декабря, 2004 1. А как узнать какой файл добавлять в этот параметр ? 2. Все равно чё-то неправильно это так каждый раз запускать gdb. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
EL[michlen] Опубликовано 10 декабря, 2004 Жалоба Поделиться Опубликовано 10 декабря, 2004 Цитата: 1. А как узнать какой файл добавлять в этот параметр? Я так предпологаю, тот, который включается, т.е. библиотеку. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
permission denied Опубликовано 10 декабря, 2004 Автор Жалоба Поделиться Опубликовано 10 декабря, 2004 Цитата: Цитата: 1. А как узнать какой файл добавлять в этот параметр? Я так предпологаю, тот, который включается, т.е. библиотеку. Ну дык а где его имя посмотреть ? Как узнать какой файл "No such file or directory" Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
EL[michlen] Опубликовано 10 декабря, 2004 Жалоба Поделиться Опубликовано 10 декабря, 2004 ldd Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
permission denied Опубликовано 11 декабря, 2004 Автор Жалоба Поделиться Опубликовано 11 декабря, 2004 Мифическая зависимость : $ldd a.out linux-gate.so.1 => (0xffffe000) libc.so.6 => /lib/tls/libc.so.6 (0x00ac8000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00aaf000) linux-gate.so.1 - файл, которого вобще нет нигде, но без него приложение (и другие) исполнятся. Может быть в нём причина этого косяка gdb, если да, как его восстановить ? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
EL[michlen] Опубликовано 11 декабря, 2004 Жалоба Поделиться Опубликовано 11 декабря, 2004 Я такую не видел. =( Цитата: [user@work src]$ gcc -g file.c [user@work src]$ gdb a.out GNU gdb Red Hat Linux (6.0post-0.20040223.19rh) Copyright 2004 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 "i386-redhat-linux-gnu"...Using host libthread_db library "/lib/tls/libthread_db.so.1". (gdb) run Starting program: /usr/home/user/src/a.out Error while mapping shared library sections: : Success. Error while reading shared library symbols: : No such file or directory. Error while reading shared library symbols: : No such file or directory. Error while reading shared library symbols: : No such file or directory. Program exited with code 01. (gdb) q [user@work src]$ А у меня все отлично работает. (???) Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
EL[michlen] Опубликовано 11 декабря, 2004 Жалоба Поделиться Опубликовано 11 декабря, 2004 linux-gate.so - виртуальная библиотека ядра 2.6. Это не файл. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
permission denied Опубликовано 11 декабря, 2004 Автор Жалоба Поделиться Опубликовано 11 декабря, 2004 Ну дык есть ещё какие-нить соображения о том как ему мозги вправить ? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
permission denied Опубликовано 9 марта, 2005 Автор Жалоба Поделиться Опубликовано 9 марта, 2005 Оказалось чего проще - скачать сырцы gdb и пересобрать - родной видно чуток кривоват. Но - каждое решение плодит новые проблемы Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.