gdb调试

本文详细介绍了IT技术中的调试工具功能,包括查看源代码、设置断点控制程序执行、监控变量值变化、检查内存布局和堆栈跟踪,帮助开发者有效诊断和解决问题。
摘要由CSDN通过智能技术生成

查看源代码

  • 列出源代码
list 行号               
     行号1,行号2
     function_name
     function_name,行号

断点

  • 开启断点
break 行号
      function_name
  • 使能断点
enable break 断点号
  • 失能断点
disable break  断点号
delete  break  断点号
  • 查看断点
info break

程序运行

方式指令
从头运行start
开始运行run
单步运行next
继续continue
步入step
跳出finish
运行到until 行号/function_name
  • 跳过
skip function function_name        跳过函数
     file     filename             跳过文件
     delete/enable/disable         删除/使能/失能
  • 截取信号
signal 信号名(SIGSEGV段错误/SIGILL非法指令/SIGINT中断/SIGALRM警告)

变量查看

单个变量

print 变量名(加上@可改变长度)
      "文件名"::变量名
      $寄存器名
      i $pc      当前汇编指令

多个变量

display 变量名       ; 每次暂停时输出一组变量的值
info display        ; 查看变量的组
undisplay 变量名

检测变化

watch 变量名      值改变时会中断程序

查看类型

ptype 变量名

改变变量值

set var 变量名=

查看堆栈

info locals     栈内的局部变量值表
back trace      函数栈帧调用关系
bt full         函数调用和实参返回值

查看内存

x /nfu 内存地址(&变量名)      

n:要显示内存的长度
f:显示数据格式(x=16进制,d=10进制,t=2进制)
u:显示的字节数(b=1字节,h=2字节,w=4字节,g=8字节)

layout

  • 打开窗口
layout src
layout regs
layout asm
layout split
  • 更新
ctrl+L      : 更新所有窗口
  • 切换窗口
focus cmd/asm/regs/src     
ctrl+x 1                   ; 只显示一个窗口
ctrl+x 2                   ; 显示两个窗口
ctrl+x a              	   ; 退回到cmd模式

                                     ------ BY Flier

2024.2.6

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值