您的位置:首页 > 汽车 > 新车 > 杭州思拓实业有限公司_网站策划专员_app推广方法_seo网站推广助理

杭州思拓实业有限公司_网站策划专员_app推广方法_seo网站推广助理

2025/10/2 3:15:57 来源:https://blog.csdn.net/weixin_51067502/article/details/145939138  浏览:    关键词:杭州思拓实业有限公司_网站策划专员_app推广方法_seo网站推广助理
杭州思拓实业有限公司_网站策划专员_app推广方法_seo网站推广助理

文章目录

    • 1 准备
    • 2 启动和断点操作
    • 3 调试命令
      • 3.1 打印信息 print == p
      • 3.2 自动打印 display
      • 3.3 单步调试
      • 3.4 设置变量

1 准备

gcc a.c -g -wall -O0 -o app
  • -g 生成的可执行程序是可调试的,就是在可执行程序中加入了源代码的信息,比如第几个可执行程序中的机械指令对应源代码的第几行
  • -wall 生成所有警告信息
  • -O0 不优化代码

2 启动和断点操作

# 启动gdb
gdb app# 设置args参数
set args 参数
# 查看命令行参数
show args
# 设置 显示行数
set listsize 行数 #或者set list 行号# 运行程序两种方法
start - 只运行到main函数中的第一行- c (continue)继续运行到下一个有效断点- n (next) 单步调试
run- 直接运行程序到断点或结束
# 退出gdb调试
quit == q# 查看代码
list =l 默认显示十行代码,使用↩︎再显示十行(重复执行)- list 行号 显示行号的上下文,默认十行- list 函数 显示函数的上下文,默认十行- list 文件:行号  切换文件- list 文件:函数  切换文件并显示函数# 断点操作
break=b
b 行号
b 函数 停在函数第一行- b 文件名:行号- b 文件名:函数 
b 行号 if 变量名==某个值# 查看断点
info =i
i b # 显示所有断点的信息 
# 编号Num 状态Enb 作用位置What
# 可以通过操作编号来删除断点
d # delete
d 1 # 删除标编号1的断点
d 1-3 # 删除编号1~3的断点# 将断点设置不可用
# dis = disable
dis num [num...]
dis numx-numy# enable = ena
ena num [,,,]
ena numx-numy

3 调试命令

3.1 打印信息 print == p

格式化字符说明
/x以十六进制形式打印整数(如 255 显示为 0xff
/d以有符号十进制形式打印整数(支持负数,如 -42
/u以无符号十进制形式打印整数(仅限非负值,如 4294967295 用于 32 位)
/o以八进制形式打印整数(如 64 显示为 0o100
/t以二进制形式打印整数(如 5 显示为 0b101
/f以浮点数形式打印值(自动识别单/双精度,如 3.141592
/c以 ASCII 字符形式打印值(如 65 显示为 'A'
# 打印变量值
p 变量名
# 格式化变量值
p/x i
# 打印变量类型
ptype i

3.2 自动打印 display

# 设置自动打印
display/fmt 变量名1 2 3# 取消自动打印有三种方式
# 1.两种删除打印
undisplay num...
delete display num...
# 2.是变量跟踪失效
disable display num...
enable display num... # 恢复生效

3.3 单步调试

命令效果
step == s向下执行一行,遇到函数会进入函数体
finish跳出函数体(需要保证函数体内没有生效的断点)
next = n向下执行一行,但是不会进入函数体
until跳出循环体(需要满足两个条件:1、循环体内不能有有效断点 。 2、在循环体的开始或结束行执行, 比如for 这一行))

3.4 设置变量

这里设置的程序内的变量值,比如循环控制变量i

set var 变量名 =

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com