CMakeLists.txt中加入
SET(CMAKE_BUILD_TYPE “Debug”)
在下面加入:
SET(CMAKE_CXX_FLAGS_DEBUG “
E
N
V
C
X
X
F
L
A
G
S
−
O
0
−
W
a
l
l
−
g
−
g
g
d
b
"
)
S
E
T
(
C
M
A
K
E
C
X
X
F
L
A
G
S
R
E
L
E
A
S
E
"
ENV{CXXFLAGS} -O0 -Wall -g -ggdb") SET(CMAKE_CXX_FLAGS_RELEASE "
ENVCXXFLAGS−O0−Wall−g−ggdb")SET(CMAKECXXFLAGSRELEASE"ENV{CXXFLAGS} -O3 -Wall”)
gdb调试
想要查看 某一个文件的某一行
l main.c:20 查看main.c文件的20行
l main.c:InsertSort 查看main.c中的InsertSort函数
l 继续列出往后的内容,想要继续看,直接按回车
b 22 在22行设置断点
b 15 if i==15 条件断点,当i == 15的时候
i b (info break) 查看断点信息
start开始执行程序,仅仅执行一步
n 单步调试
c 继续执行,停止在断点处
s进入到函数体内部
p j 查看j变量的值
ptype min 查看min变量的类型
display i相当于VS中的watch命令,每次自动打印i的值
info display 获取到追踪变量的编号
undisplay 1 取消追踪变量,这个数字是从info display中获取的
u 跳出单次循环,跳出for的单次循环
finish 跳出当前的函数,相当于f11之后跳出去了
d 4删除断点,4是从i b中获取的编号
set var i = 10设置变量的值为10,i是for中的变量,相当于前10次不跟了