Code::Blocks - GDB не видит точек останова в проекте CMake

151
03 октября 2018, 06:10

Продолжая знакомиться с Code::Blocks наткнулся на непонятное поведение. Если проект создан с помощью CMake - GDB не видит точек останова в проекте, так же не работает выполнить до текущей позиции.. Выполняет весь код, без остановов.

чего пишет на это GDB:

Starting debugger: C:\MSVS\CodeBlocks\MinGW\bin\gdb32.exe -nx -fullname -quiet  -args C:/__BuildSorce/T-CMAKE/t1/winext/codeblock/TestWchar2ext.exe
done
Setting breakpoints
Debugger name and version: GNU gdb (GDB) 7.9.1
No source file named C:/__BuildSorce/T-CMAKE/t1/test/check_wchar2_MSVC.c.
Temporary breakpoint 3 ("C:/__BuildSorce/T-CMAKE/t1/test/check_wchar2_MSVC.c:150") pending.
Child process PID: 3408
[Inferior 1 (process 3408) exited normally]
Debugger finished with status 0

На всякий случай добавил путь к исходнику исполняемого файла, он собственно один, не помогло..

Судя по всему он не может таки найти исходник check_wchar2_MSVC.c, как ему еще указать где искать?

Answer 1

Если отладчик не видит точек останова, значит, информация о них не попала в скомпилированный исполняемый файл.

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

  • -g — снабдить исполняемый файл отладочной информацией, с помощью которой отладчик сможет сопоставить машинные инструкции строкам исходного кода.
  • -Og — отменить все ранее объявленные -O-параметры и включить минимальный набор оптимизаций, не мешающих отладке. Так как Code::Blocks добавляет пользовательские параметры в конец командной строки компилятора, после своих, этот флаг позволяет временно переопределить настройки проекта на время отладки.
READ ALSO
String, null и “”

String, null и “”

Мне нужно найти метод, который будет преобразовывать

126
Static в методах

Static в методах

Такая ошибка:

142
Глюк при работе с Java

Глюк при работе с Java

Windows XP Professional SP3 jdk17

140