| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > GNU toolchain > Как отладить программу [C][Linux] |
| Автор: Logo 21.6.2012, 18:57 |
| Есть исходные коды программы в стандартном unix стиле сборки (configure, make) Как ее отладить, выполнить по шагам? P.S. программа - дистрибутив perl |
| Автор: Randajad 21.6.2012, 19:06 |
| В линупсах нету gdb? Через консольную морду и отлаживать. |
| Автор: Logo 21.6.2012, 20:22 | ||||
| Есть, но как? Во первых, что бы отлаживать, нужно скомпилировать с опцией -g. Нашел в сгенерированном Makefile строки
Добавил в CLDFLAGS -g. Потом, пытаюсь поставить точку отладки в файле hv.c
Но файл hv.c, как я понимаю, линкуется статически. Он его не видит. |
| Автор: boostcoder 21.6.2012, 21:45 |
это еще ни о чем не говорит. покажи команду компиляции выводимую на консоль, и команду линковки. |
| Автор: boostcoder 21.6.2012, 22:19 |
потому и прошу показать вывод компиляции и линковки. а лучше - весь вывод команд 'make' и 'make install' |
| Автор: Logo 23.6.2012, 12:51 | ||
| Весь вывод make слишком большой (4073 строки после первого make, и 1241 после изменения файла hv.c и повторного make), форум пишет что слишком большое сообщение. При первом make команда grep '\<cc\>' 1 | grep -v '\-g' Находит строки, что указывает на то, что не везде компилятор вызывается с опцией -g
При повторном make та же команда ни чего не находит. |
| Автор: boostcoder 23.6.2012, 13:20 |
| Logo, попробуй так: $> make CFLAGS_FOR_TARGET="-g" LDFLAGS_FOR_TARGET="-g" только сначала не забудь выполнить "make clean" и показывай вывод. и дай ссылку на сорцы которые собираешь, и на ман по сборке. |
| Автор: Logo 23.6.2012, 13:42 |
| http://www.cpan.org/src/README.html Работаю с версией 5.14.2 |
| Автор: Logo 23.6.2012, 14:42 |
| Ни какой разницы make clean; make >1 2>2; make clean; make CFLAGS_FOR_TARGET="-g" LDFLAGS_FOR_TARGET="-g" >1_ 2>2_; diff -u 1 1_ |
| Автор: boostcoder 23.6.2012, 16:20 |
| Logo, в INSTALL файле читай же с 875ой строки. |
| Автор: Logo 23.6.2012, 22:47 |
| Спасибо, помогло |