CMake 进行调试

"在Linux环境下,对于CMake构建的项目,可以通过设置CMakeLists.txt来优化调试选项,如添加"-O0-Wall-g2-ggdb"以增强gdb调试能力。当进程崩溃时,核心转储文件(core)记录了关键信息。确保通过`ulimit -c unlimited`命令启用无限制的core文件生成。利用gdb和objdump工具分析core文件能有效排查问题。"
摘要由CSDN通过智能技术生成

在 Linux 下开发,可以用 gdb 进行调试,但是如果工程是用 CMake 构建的,那么需要在 CMakeLists.txt 中加入如下代码:

CMake 配置

SET(CMAKE_BUILD_TYPE "Debug")  
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g2 -ggdb")  
SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")  

coredump

进程奔溃时,系统会把奔溃前的信息转储在一个叫做 core 的文件。

但是,在 Linux 下需要配置,要在终端上输入下面指令

 ulimit  -c unlimited

ulimit -c 可以设置 core 文件大小,很可能它是 0,那么就无法产生 core 文件。

上面指令的作用是不限制 core 文件的大小。

使用 core 文件也很简单

gdb ./test  core

就好了,test 是我假设的出错的可执行文件。

另外 objdump这个指令也可以查看 core 文件

objdump -s core
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值