我正在使用cmake通过cmake -DCMAKE_BUILD_TYPE=Debug ..
我在构建文件夹中获得了 CMakeCache.txt,CMakeFiles,Makefile,cmake_install.cmake 文件/文件夹和编译后的二进制文件,例如 test 。
当我通过gdb ./test
启动gdb时,得到了以下结果
GNU gdb(GDB)8.0.1版权所有(C)2017自由软件基金会,
许可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/。
要获取帮助,请键入“帮助”。
输入“ 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
在主函数中添加断点,并打印出以下消息
没有加载符号表。使用“文件”命令。
在将来的共享库加载中使断点挂起吗? (y或[n])
在我得到的上一个问题上输入y
断点1(主要)待处理。
然后(gdb) run
命令给出错误
启动程序:
未指定可执行文件。
使用“文件”或“执行文件”命令。
最后(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
)