gdb入门

编程入门 行业动态 更新时间:2024-10-22 17:28:14

gdb<a href=https://www.elefans.com/category/jswz/34/1770026.html style=入门"/>

gdb入门

下面是我自己写的一个测试用例 a.c

#include<stdio.h>
int add(int a,int b){return a+b;
}
int main(){int n=add(5,10);printf("n is %d\n",n);n=n*n;printf("n is %d\n",n);n=add(10,10);printf("n is %d\n",n);
return 0;}

gdb调试过程
gcc -g a.c -o result //如果想使用gdb调试,那么必须加入-g选项
gdb result 进入gdb调试
l (字母l)显示源码,如果没显示完,按回车继续显示剩下的
b 7 在第七行设置断点
r 运行程序,会在断点那里停下来
p n 显示变量n的值
n 执行下一行
b 9 在第九行再次创建断点,9也可以改为函数名main
condition 2 n==255 检测n的值为255时暂停运行
c 从断点处继续运行
cl 9 清除第九行断点
s 单步调试,执行到下一断点

高级命令
高级命令

gdb还有很多高级用法,如查看堆栈列表,分割窗口等,这里就不一一测试了。
查询运行信息

where/bt:查看当前运行的堆栈列表
up/down:改变堆栈显示的深度
set args:参数:指定运行时的参数
show args:查看设置好的参数
info program: 来查看程序的是否在运行,进程号,被暂停的原因。

分割窗口

layout:用于分割窗口,可以一边查看代码,一边测试
layout src:显示源代码窗口
layout asm:显示反汇编窗口
layout regs:显示源代码/反汇编和CPU寄存器窗口
layout split:显示源代码和反汇编窗口
Ctrl + L:刷新窗口

更多推荐

gdb入门

本文发布于:2024-03-08 21:25:22,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1722431.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:入门   gdb

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!