Как запустить программу Linux построчно - PullRequest
3 голосов
/ 01 октября 2009

Я хотел бы запустить программу GTK + / C построчно с каким-нибудь отладчиком. Я никогда не отлаживал программу для Linux, так где я могу найти инструкции для начинающего, как отлаживать код? У меня есть идея, что мне нужно скачать исходники из сети, скомпилировать проект с символами отладки и запустить исходники через DDD или GDB. Так может кто-нибудь дать советы, как начать изучать эти предметы и что может быть хорошим отладчиком для начала? У меня есть хотя бы время, чтобы научиться чему-то.

Ответы [ 3 ]

2 голосов
/ 09 октября 2009

Также посмотрите на nemiver, кроме DDD, они хороши в разных вещах, но nemiver идет очень хорошо.

PS. Если вы работаете в Ubuntu и хотите просмотреть приложение, установленное из репозитория пакетов, давайте назовем его some_package, а затем сделайте следующее:

  1. установить пакеты "build-essential" и "devscripts"
  2. запустите "sudo apt-get build-dep some_package", чтобы установить все необходимое для компиляции этого пакета
  3. запустите "mkdir -p ~ / src / some_package; cd ~ / src / some_package", чтобы создать каталог для исходного кода
  4. Зайдите в Систему :: Администрирование :: Источники программного обеспечения и активируйте репозиторий «Исходный код»
  5. запустите "apt-get source some_package", чтобы загрузить исходный код для some_package и поместить его в текущий каталог
  6. используйте «cd» для перехода в каталог определенного приложения, обычно что-то вроде «some-app-1.2.3»

7А. запустите "debuild -us -uc -b", чтобы скомпилировать исходный код в новый устанавливаемый файл .DEB, скомпилированный в режиме выпуска БЕЗ отладочная информация

или (и это центральная часть):

7В. запустите "MAKEFLAGS = -j6 DEB_BUILD_OPTIONS =" nostrip noopt parallel = 5 "CFLAGS =" - g3 -O0 "debuild -us -uc" для создания отладки в режиме отладки С отладочная информация

  1. используйте "cd ..", чтобы перейти на один шаг вверх, а затем выполните "ls", и вы должны увидеть сгенерированные файлы DEB (несколько бинарных пакетов, то есть DEB, могут быть сгенерированы из одного пакета с исходным кодом)
  2. sudo "sudo dpkg -i some_package_123.deb" для установки только что созданной версии

Конечно, вы можете при желании изменить код между шагами 6 и 7. Приятная особенность этого метода в том, что он работает практически для любого приложения. Вы можете использовать его для Firefox, ядра Linux, стека mesa или любого другого.

1 голос
/ 28 октября 2009

http://www.sourceware.org/current/onlinedocs/gdb_toc.html

Полное руководство пользователя GDB онлайн.

1 голос
/ 01 октября 2009

Изучите использование GDB и компиляцию с помощью gcc -g или другого отладчика.

http://en.wikipedia.org/wiki/Gdb

...