Linux设备调试-GDB调试器

前言

"工欲善其事,必先利其器",为了方便Linux驱动设备的开发和调试,建立舒适的开发环境、使用必要的软件工具,以及掌握常用的调试技巧是比较重要的。本篇介绍GDB调试器的主要功能和常见用法,同时在第三部分中,命令顺序按照使用频率由高到低编写,方便阅读和使用。

正文

一、GDB4个主要功能

  1. 可按照工程师自定义的要求运行程序。
  2. 让被调试程序在工程师指定的断点处停住,断点可以是条件表达式
  3. 程序被停住时,可检查此刻程序中所发生的事,并追踪上文
  4. 动态地改变程序的执行环境

二、GDB使用实例

若有源文件get_timestamp.c, 使用命令gcc get_timestamp.c -o get_timestamp编译,产生含调试信息的二进制文件get_timestamp,使用命令gdb get_timestamp进入调试状态

三、调试常用命令

Ctrl+A+X 进入/退出调试界面
win cmd +5调整命令窗口大小
fs cmd 操作键停在命令窗口

  1. r运行程序(run)

    set args <参数1> <参数2> ...,可指定运行参数再运行。

  2. b 设置断点(break)

b <function/linenum/*address/if >,可接函数名、行数、内存地址、条件表达式。

  1. c恢复运行(continue)

c [ignore_count],可接ignore_count,表示忽略其后多少次断点。

  1. n单步执行(next)

  2. p打印数据(print)

p ,接表达式(变量也是一种表达式)

p /,f为输出格式,有:x:十六进制;d:十进制;o:八进制;t:二进制;c:字符格式;f:浮点数格式

  1. u跳出循环(until)

  2. set修改内存

    set 变量名=0

四、参考来源

书籍《Linux设备驱动开发详解:基于最新的Linux 4.0内核》第21章

相关推荐
韩楚风1 小时前
【linux 多进程并发】linux进程状态与生命周期各阶段转换,进程状态查看分析,助力高性能优化
linux·服务器·性能优化·架构·gnu
陈苏同学1 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
Ambition_LAO1 小时前
解决:进入 WSL(Windows Subsystem for Linux)以及将 PyCharm 2024 连接到 WSL
linux·pycharm
Pythonliu71 小时前
茴香豆 + Qwen-7B-Chat-Int8
linux·运维·服务器
你疯了抱抱我1 小时前
【RockyLinux 9.4】安装 NVIDIA 驱动,改变分辨率,避坑版本。(CentOS 系列也能用)
linux·运维·centos
追风赶月、1 小时前
【Linux】进程地址空间(初步了解)
linux
栎栎学编程1 小时前
Linux中环境变量
linux
挥剑决浮云 -2 小时前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记
小O_好好学3 小时前
CentOS 7文件系统
linux·运维·centos
x晕x4 小时前
Linux dlsym符号查找疑惑分析
linux·运维·服务器