Кодовые блоки не останавливаются на контрольных точках

Я пытаюсь отлаживать проект С++ в Codeblocks, но он не останавливается на контрольных точках. Я прочитал другие ответы и до сих пор пробовал следующее:

  • (Build Options > Compiler Settings) Produce debugging symbols отмечен, strip all symbols не установлен.
  • В пути к файлу нет пробелов/не-ascii.
  • Запуск отладочной версии.
  • Отладчик в (Settings > Compiler > Toolchain Executables) установлен на GDB/CDB Debugger:Default
  • Исполняемый путь в (Settings > Debugger > GDB/CDB Debugger:Default) - C:\MinGW\bin\gdb.exe.

Он все еще не останавливается на контрольных точках, а в журнале отладчика упоминается, что не найдены отладочные символы Что мне здесь не хватает?

Ответ 1

При попытке исправить это я столкнулся с множеством аналогичных вопросов, где CodeBlocks игнорирует точки останова во время отладки, поэтому здесь исправления, которые я обнаружил до сих пор.

1. Очистите и перестройте.
2. Убедитесь, что (Параметры сборки > Параметры компилятора). Вывод символов отладки проверяется, все символы не отмечены. Пожалуйста, убедитесь, что это сделано в глобальных настройках и настройках проекта. Это исправлено для меня.
3.Проверьте, чтобы в пути файла проекта не было пробелов/не-ASCII-значений.
4. Проверьте, запущена ли отладочная версия, а не release. Исполняемый файл из сборника Release будет \bin\Release, а исполняемый файл из сборки Debug будет находиться в \bin\Debug.
5. Убедитесь, что отладчик в (Настройки > Компилятоp > Служебные файлы) установлен в GDB/CDB Debugger: по умолчанию.
6.Проверьте, что исполняемый путь в (Настройки > Отладчик > Отладчик GDB/CDB: по умолчанию) действителен как путь к gdb (C:\MinGW\bin\gdb.exe).
7.Update Codeblocks (последнее средство).
Пожалуйста, добавьте в комментарии что-нибудь еще, что сработало для вас.

Ответ 2

У меня тоже была эта проблема, однако, потому что давно я установил

Настройки > Отладчик > Отладчик GDB/CDB > По умолчанию > Команды инициализации отладчика

to

"установить дочерний режим в режиме ожидания"

поэтому GDB фактически полностью отлаживает другую программу.

Ответ 3

Единственное, что сработало для меня:

Путь с пробелами

Точки останова не могут работать, если путь/папка, на которую вы разместили свой проект, содержит пробелы или другие специальные символы. Чтобы быть в безопасности, используйте английские буквы, цифры и "_".

Источник: Отладка с кодом:: Блоки

Также вы можете проверить меню: Build- > Select target- > Debug

Ответ 4

Для меня работала, чтобы удалить файл main.o, который содержится в obj/Debug.

Надеюсь, что это поможет кому-то.