#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]»