cmake Debug模式和Release模式
在cmake中要编译debug模式的话,在CMakeLists.txt中添加如下两行
首先在CMakeLists.txt下加入
SET(CMAKE_BUILD_TYPE "Debug")
在下面加入:
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb")
SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")
原因是CMake 中有一个变量 CMAKE_BUILD_TYPE ,可以的取值是 Debug Release RelWithDebInfo >和 MinSizeRel。
当这个变量值为 Debug 的时候,CMake 会使用变量 CMAKE_CXX_FLAGS_DEBUG 和 CMAKE_C_FLAGS_DEBUG 中的字符串作为编译选项生成 Makefile;
2. 在GDB中间加入程序启动参数
比如我们需要调试一个可执行文件./a.out help
这时
$gdb ./a.out
进入到gdb的命令行模式下,然后:
(gdb) set args help
就能加上可执行文件需要的参数,如果要看argc[1]到argc[N]的参数,只需要
(gdb) show args
3. gdb中查看字符串,地址的操作,数据类型
比始有一个int型的变量i,相要知道他的相关信息,可以
(gdb) print i
打印出变量i的当前值
(gdb)x &i
与上面的命令等价。
如果有x命令看时,需要看一片内存区域,(如果某个地方的值为0,用x时会自动截断了)
(gdb) x/16bx address
单字节16进制打印address地址处的长度为16的空间的内存,16表示空间长度,不是16进制,x表示16进制,b表示byte单字节
gdb看变量是哪个数据类型
(gdb) whatis i
即可知道i是什么类型的变量
------------------------------------------------
cmake Debug模式和Release模式相关推荐
- 对VC++下Debug模式和Release模式的简要分析
// // 备注:本篇文章来自 vc驿站:http://www.cctry.com/thread-254205-1-1.html // C.C++.VC++ 各种学习资源,免费教程,期待您的加入! / ...
- Debug模式和Release模式区别
VC6.0中的Debug模式和Release模式区别 Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序.Release 称为发布版本,它往往是进行了各 ...
- 基于C/C++在Debug模式与Release模式下相同的算法计算出来的结果不一样
项目场景: TEA算法踩坑记,在Debug模式与Release模式下相同的算法计算出来的结果不一样. 在安全学领域,TEA(Tiny Encryption Algorithm)是一种分组加密算法,它的 ...
- React Native:判断RN项目是debug模式还是release模式方法
判断项目是debug模式还是release模式的方法: if (__DEV__) {alert('debug模式')// debug模式 开发者模式} else {alert('release模式re ...
- C#:识别一个dll文件是Debug模式还是Release模式编译的
2019独角兽企业重金招聘Python工程师标准>>> 今天遇到一个问题,就是在要确定一个C#项目中正在使用的一个dll文件是什么模式编译的.因为Debug和Release两种模式编 ...
- 关于Debug模式和Release模式
使用VS的都知道,在编译的时候,会有debug和release俩中模式,那么这俩种模式到底有什么不同呢? 首先我们要明确的是Debug和Release模式并没有本质的区别,他们编译的都是同一份源码. ...
- 通过DEBUG宏定义管理debug模式和release模式
文章目录 一.引言 二.带有前缀信息的debug调试输出 三.不带有前缀信息的debug调试输出 四.总结 一.引言 软件版本通常有debug和release两个版本,器本质上是同一套源代码,只是 ...
- Visual Studio 中Debug模式和Release模式的区别
引用文章:Visual Studio中Debug和Release的区别 https://www.cnblogs.com/darrenji/p/3907004.html
- 调试中Debug模式与Release模式区别
一.Debug 和 Release 编译方式的本质区别 Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序.Release 称为发布版本,它往往是进行了各种优化,使得程 ...
最新文章
- iscsi网络磁盘共享
- leetcode89 (2022.1.8)
- linux乌班图中文输入法,Ubuntu Linux怎么安装中文输入法
- Redhat或者Centos 手动安装sublime text 3
- pytorch调用tensorboard方法尝试
- 【计蒜客习题】蒜头君运送宝藏
- 中国科学院全国名词委组合数学和计算机科学研究开发中心 顾同新,有关组合数学家陆家羲的几点史实澄清.doc...
- Flash视频播放器 JW PLAYER怎么在网页中运用?
- Port-A-Thon
- ONNX转ms后,benchmark跑分非常慢
- 乡村少年宫计算机教师简介,乡村少年宫教师感言
- 从一坨「便便」说起,大V亲测iPhone X为什么这么贵!
- LED显示行业之闪烁现象
- 将谷歌插件打包给别人使用
- Oracle导入导出dmp文件步骤
- nginx端口映射配置(Windows)
- 《精益数据分析》-第二部分概括笔记
- JavaScript是单线程还是多线程?
- css 实现 防抖效果
- java netty wss_netty中websocket, wss