Как отлаживать программу на C - PullRequest
23 голосов
/ 07 апреля 2010

Я использую Linux, GCC и C.

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

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

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

Ответы [ 3 ]

30 голосов
/ 07 апреля 2010

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

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

и затем:

gdb prog

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

7 голосов
/ 07 апреля 2010

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

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

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

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

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

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

image

1 голос
/ 04 ноября 2017

Вы можете использовать простой и полезный графический интерфейс на основе GDB "Nemiver".Он может отлаживать весь ваш модуль, содержащий множество исходных файлов.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...