Мой дистрибутив Ubuntu 9.10.
Программа на Си, компилируется в gcc, требуется сеанс отладки.
Компилирую с флагом -g, как полагается. Запускаю прогу в gdb.
И тут же выяснятеся, что на команды b и l отладчик реагирует неадекватно.
Исходные файлы следующие:
main.c
maps.c
graphics.c
maps.h
graphics.h
В maps.c есть функция, которая ведёт себя не так, как мне хотелось бы. Хочу поставить там точки останова. Ввожу:
b maps.c:16
На что мне отвечают:
No source file named maps.c.
Make breakpoint pending on future shared library load? (y or [n]) - я отвечаю n, но, может, неправильно делаю?
В самом main останов ставится только на функцию main, а ставить на какую-либо строчку бесполезно, выводит следующее:
Note: breakpoint 1 also set at pc 0x80489e0.
Breakpoint 2 at 0x80489e0: file ../sysdeps/i386/elf/start.S, line 16.
И это явно не в файле main.c!
В ответ на команду l:
6 in ../sysdeps/i386/elf/start.S
Я уже делал папку с иходниками и программой рабочей директорией, но ничего не помогает. И никак не пойму, в чём же дело. Оно понятно, что я нубьё, но согласно мануалу, всё должно работать.
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
P.S. Я уже создавал такую же тему на другом форуме, и там мне ответили следующее:
А вы в курсе, что в Ubuntu нельзя ничего компилировать и устанавливать из исходников?
Она рассчитана на установку .deb пакетов.
Там даже специальные фичи введены против любителей покомпилить.
Если вам нужен дистрибутив Linux для программирования и компилляции то советую Gentoo или Slackware.
Ясное дело, я в шоке. Дистрибутив менять не хочу, а программировать хочу. Затем ответивший товарищ всё же добавил:
Только нужно доустановить все необходимое.
Например все 3D эффекты в фильме Аватар делались в Ubuntu.
Что именно, подсказать не могу, потому что не знаю - я далек от программирования. Советую сходить на форум программистов. Погуглите - их много.
Я уже стёр установленный gdb и откомпилировал из исходников. Но всё то же самое.
Скажите, не стал ли я жертвой троллинга или такого же "умника", как я сам, и как мне разрулить свою проблему?