2010-04-07 2 views
19

Я использую Linux, GCC и C.Как отладить программу C

У меня есть файл make.

Я хочу отладка мой модуль. Я не хочу отлаживать один файл, я хочу отладить весь модуль.

Как я могу это сделать?

ответ

25

Скомпилируйте свой код с помощью флага -g, а затем используйте отладчик gdb. Документация для GDB является here, но по существу:

gcc -g -o prog myfile.c another.c 

, а затем:

gdb prog 

Если вы хотите удобный графический интерфейс для GDB, посмотрите на DDD или Insight.

+2

Там также графический интерфейс для GDB под названием ддда, что может быть полезно, если вы с трудом с привыкают к БГДУ. – wasatz

+0

+1 для добавления - http://stackoverflow.com/questions/2588853/the-community-driven-gdb-primer –

+0

У меня есть большой файл .c. согласно вам, я должен включить их все. есть какой-либо самый короткий путь. – ambika

6

Я предполагаю, что вы строите из командной строки.

Возможно, вы захотите рассмотреть IDE (интегрированную среду разработки), такую ​​как KDevelop или Eclipse и т. Д. (Подсказка - Eclipse ... ECLPISE ... E C L I PS E).

Использование IDE для редактирования кода, рефакторинг кода, изучить код - класс дерево, выберите переменную, класс или функцию, чтобы перейти к декларации, и т.д., и т.д.

И - конечно же - для отладки:

  • запустить свой код в IDE
  • установить контрольные точки для остановки на конкретных линиях
  • или просто пошагово, линию, в то время
  • изучить стек вызовов, чтобы увидеть как вы идете туда
  • исследовать текущие значения переменных, чтобы понять ваши проблемы
  • изменить значения этих переменных и запустить, чтобы увидеть, что происходит
  • и больше, больше, больше

пс как wasatz mentioned- DDD велик - для визуализации содержимого массивов/матриц, а - имо - особенно если вы связаны списки

1

Вы можете использовать простой и полезный GUI «Nemiver» на основе gdb. Он может отлаживать весь ваш модуль, содержащий множество исходных файлов.

enter image description here

Смежные вопросы