Как отлаживать в Codeblocks?

#c #debugging #codeblocks

#c #отладка #codeblocks

Вопрос:

Я только что закончил кодирование своей программы, но столкнулся с несколькими логическими ошибками. Я хочу отладить программу.

Я использую Codeblocks, так что мне нужно сделать, чтобы просмотреть статус и значение каждой переменной по мере выполнения программы и просмотреть программу построчно?

По сути, я хочу сделать то, что вы делаете в Visual Studio — где значение и адрес КАЖДОЙ переменной отображаются по мере того, как вы проходите построчно.

Я также хочу, чтобы CodeBlocks показывал, какая строка выполняется в данный момент.

Кто-нибудь знает, как я могу это сделать?

Спасибо за вашу помощь

Ответ №1:

Сначала установите точку останова в начале вашего кода, иначе codeblocks не будут выполняться построчно.

Когда вы запускаете свою программу в режиме отладки (проверьте меню), вы должны получить несколько панелей инструментов с элементами управления для продвижения строк и просмотра переменных. Вы можете изменить значение переменной, наведя на нее указатель мыши в своем коде.

Комментарии:

1. спасибо, я поставил точку останова в первой строке, и я получил ее для выполнения построчной операции, однако, как и в 20-й строке, в __cxa_throw () () и с тех пор ничего не делает

2. есть ли у вас какие-либо идеи, что такое __cxa_throw () () и почему это делается?

3. Это означает, что ваша программа выдала исключение. У вас ошибка, и вы только что выяснили, где 🙂

Ответ №2:

Смотрите ответ xthexder, но на всякий случай, если вы так же недавно начинаете отладку, как и я, вот дополнительная подсказка:

Вам нужно активировать символы отладки в параметрах сборки для вашего проекта.
В противном случае отладка не работает (никакие точки останова не останавливают программу и т.д.) В немного особых ситуациях, таких как более одного потока, и интересная часть не находится в первом. Для меня это был, например, случай при попытке отладить мою программу OpenGL / SDL2, что означает, что вы можете попасть в такие ситуации, не выполняя несколько потоков сознательно самостоятельно.

Конечно, это очевидно для всех, кто имеет опыт в отладке.
Но вы и я, будучи новичками…

Как активировать символы отладки, особенно в Code::Blocks:

  • меню «проект»
  • пункт меню «Параметры сборки …»
  • вкладка «Настройки компилятора»
  • категория «Отладка»
  • установите флажок «Создавать символы отладки [-g]»