g++ -o XX XX.cpp 编译
-g gdb 调试
-O2 吸氧
-pg 看函数运行
-ftrapv 有没有溢出
-fsanitize=address 看数组有没有越界
-pg -ftrapv -fsanitize=address 都要运行一遍(./XX
)
-pg 后面还要 gprof -b ./XX
如果越界了,后面两个会给出 Aborted 直接终止
gdb 调试
gdb (./)XX 开始 gdb
b(break) 行号 设置断点
b(break) 行号 if ...(不用打括号的 if 条件句) 设置条件断点
r(run) 运行程序
p(print) 函数,数组,变量,条件表达式 显示
clear 行号 取消断点
n(next) 执行下一行
s(step) 执行下一步
c(continue) 继续运行
q(quit) 退出 gdb
标签:XX,行号,编译器,pg,断点,gdb
From: https://www.cnblogs.com/thirty-two/p/17555083.html