linux下GDB的使用

gdb命令的语法

• gdb [参数] Filename
• -help:列出所有参数,并作简单说明。
• -symbols=file
s file:读出文件(file)的所有符号
• -core
-c 这里的core是程序非法执行后core dump产生的文件
• -directory
-d 加入一个源文件的搜索路径。默认搜索路径是环境变量中PATH所定义的路径
• -quiet
-q 使用该参数不显示gdb的介绍和版权信息

启动gdb的常用方式

gdb Filename

如果在启用gdb的时候不想显示gdb的版本信息
可以使用 gdb -q Filename

gdb的调试命令

命令 作用
file 指定要调试的可执行程序
kill 终止正在调试的可执行程序
next 执行一行源代码但并不进入函数内部
list 部分列出源代码
step 执行一行源代码并不进入函数内部
run 执行当前的可执行程序
quit 结束 gdb 调试任务
watch 可以检查一个变量的值而不管它何时被改变
print 打印表达式的值到标准输出
break N 在指定的第 N 行源代码设置断点
info break 显示当前断点清单,包括到达断点处的次数等
info files 显示被调试文件的详细信息
info func 显示所有的函数名
info local 显示当前函数中的局部变量信息
info prog 显示被调试程序的执行状态
info var 显示所有的全局和静态变量名称
make 在不退出 gdb 的情况下运行 make 工具
shell 在不退出 gdb 的情况下运行 shell 命令
continue 继续执行正在调试的程序

例子

main.c

#include<stdio.h>
int main(int argv,char *argc[])
{
   

	if(argv!=2)
	{
   
		printf("argv!=2\n");
	}
	int value=atoi(argc[1]);
		if(value)
		{
   
			printf("argc!=0\n");
		}
		else
		{
   
			printf("argc==0\n");
		}
	return 0;
}

启动gdb

gdb调试的可执行程序,因为mian.c并未编译,我们可以通过下面的方式启动调试

gcc -g -o main main.c 
gdb main

启动之后出现(gdb)

查看源代码 list

(gdb) list
1	#
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值