700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 【Linux】gcc编译工具 断点的设置 gdb调试

【Linux】gcc编译工具 断点的设置 gdb调试

时间:2023-09-05 14:12:01

相关推荐

【Linux】gcc编译工具 断点的设置 gdb调试

文章目录

注意1、在gcc编译过程中一定要加入选项 `-g`;2、只有在代码处于`运行`中在`暂停`状态时才能查看变量值;3、设置断点后,程序在指定行之前停止。总结主要内容1、将当前目录下的`myself.h`文件移动到`/usr/include/`文件夹下2、搜索 `/usr/include/my*`路径下 以`my`开头的所有文件3、gdb调试代码3.1 进入gcb编译模式3.2 查看源代码 `l` (是小写的L)3.3 设置断点 Break `b`3.3.1 设置行断点3.3.2 条件断点3.3.3 设置函数断点3.3.4 断点后按照预设的变量值运行3.4 查看设置的断点`info b`3.5 删除断点 Delete `d 断点号`1.指定单个断点2.所有点断 `d`4、运行 调试 Run `r`4.1 直接运行 到断点处停4.2 单步执行 Next `n` 并 查看值的变化Print `p`4.3 Continue 到断定后,继续往下运行`c`4.4 Step 跳入函数内部进行单步 `s`5、查看当前变量的值 `p 变量名`6、退出gdb调试 Quit `q`每天进步一点点 笔记仅供自学,用来回看复习,不一定适合你,如有错误请指出。

注意

1、在gcc编译过程中一定要加入选项-g

2、只有在代码处于运行中在暂停状态时才能查看变量值;

3、设置断点后,程序在指定行之前停止。

总结

常用命令

l 查看源代码

b 行号 或函数名或f条件(==10)

info b 查看断点

d 断点号 d 无 删除所有断点

r 运行

p 变量名 查看变量值

set var变量名=变量值_新

S 进入函数内单步

n 不进入函数内单步

C 继续运行

q 退出gdb

主要内容

1、将当前目录下的myself.h文件移动到/usr/include/文件夹下

sudo mv myself.h /usr/include/

2、搜索/usr/include/my*路径下 以my开头的所有文件

ls -l /usr/include/my*

3、gdb调试代码

gcc 语法错误gdb 算法错误

3.1 进入gcb编译模式

要使用gdb编译器调试代码,执行gcc时要用操作-g

gcc f_gdb.c -g -o f_gdb

相当于是给了这个文件1个标注,这样才能使用下面这条语句调试

gdb f_gdb

3.2 查看源代码l(是小写的L)

1、每次查看10行代码

l

2、 也可以指定行号,查看第Number行 前后共10行的代码

l Number

3.3 设置断点 Breakb

3.3.1 设置行断点

假设我要在这行设置断点,fun()就不会被执行

b 13

3.3.2 条件断点

b 行数 if 判断语句

运行到 i=10时,再执行断点命令

3.3.3 设置函数断点

b 函数名

3.3.4 断点后按照预设的变量值运行

set var b=4

多了 4

3.4 查看设置的断点info b

info b

断点在文件f_gdb的main中 第13行

3.5 删除断点 Deleted 断点号

1.指定单个断点

d 1

2.所有点断d

d

4、运行 调试 Runr

4.1 直接运行 到断点处停

r

停在该处,此时该处还未执行

4.2 单步执行 Nextn并 查看值的变化Printp

n

4.3 Continue 到断定后,继续往下运行c

c

此时停在了第2个断点处

4.4 Step 跳入函数内部进行单步s

s

5、查看当前变量的值p 变量名

p varNum

6、退出gdb调试 Quitq

每天进步一点点 笔记仅供自学,用来回看复习,不一定适合你,如有错误请指出。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。