Я использую cmake для сборки отладочной версии через cmake -DCMAKE_BUILD_TYPE=Debug ..
Я получил CMakeCache.txt, CMakeFiles, Makefile, cmake_install.cmake файлы / папки и скомпилированный двоичный файл, скажем test , в папке сборки.
когда я запускаю GDB gdb ./test
, я получаю следующее
GNU GDB (GDB) 8.0.1 Copyright (C) 2017 Free Software Foundation, Inc.
Лицензия GPLv3 +: GNU GPL версии 3 или более поздней http://gnu.org/licenses/gpl.html
Это бесплатное программное обеспечение: вы можете свободно изменять и распространять его.
ГАРАНТИЯ НЕ ПРЕДОСТАВЛЯЕТСЯ, если это разрешено законом.
Введите «Показать копирование» и «Показать гарантию» для
подробности. Эта GDB была настроена как "x86_64-apple-darwin17.0.0". Тип
«Показать конфигурацию» для деталей конфигурации.
Инструкции по сообщению об ошибках см. На http://www.gnu.org/software/gdb/bugs/.
Онлайн-руководство GDB и другие источники документации можно найти по адресу:
http://www.gnu.org/software/gdb/documentation/.
Для получения справки введите «help».
Введите "apropos word" для поиска команд, связанных с "word" ...
BFD: / Users / sln / Project / repos / C ++ / Primer / debug / test: неизвестно
команда загрузки 0x32
BFD: / Users / sln / Project / repos / C ++ / Primer / debug / test:
неизвестная команда загрузки 0x32
"/ Users / sln / Project / repos / C ++ / Primer / debug /./ test": не в исполняемом файле
формат: формат файла не распознан
И я добавляю точку останова к основной функции на (gdb) break main
, и следующее сообщение было распечатано
Таблица символов не загружена. Используйте команду «file».
Сделать точку останова ожидаемой при будущей загрузке совместно используемой библиотеки? (у или [н])
По вводу y
на верхний вопрос я получил
Ожидание точки останова 1 (основной).
Тогда (gdb) run
команда выдает ошибку
Запуск программы:
Не указан исполняемый файл.
Используйте команду "file" или "exec-file".
И, наконец, (gdb) file
приводит к
Нет исполняемого файла сейчас.
Нет файла символов.
Вопрос: Интересно, какая часть была неправильной?
Вот мой файл CmakeList.txt
cmake_minimum_required(VERSION 2.8)
project(Test)
set(CMAKE_CXX_STANDARD 11)
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
endif()
add_executable( test
${CMAKE_CURRENT_SOURCE_DIR}/src/main.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/test_nav.h
)