crazyboy

曾梦想仗剑走天涯
后来工作忙没去了

  • 主页
  • 人生啊~
  • 电脑?
  • 神兵利器
  • 工作嘛!
所有文章 友链 关于我 展开
  • 所有文章
  • 友链
  • 关于我
  • 展开

计算机爱好者
云计算
云存储
网络技术
非洲酋长
可爱的胖子
十年攻城狮

tag:

  • 生活
  • 才华
  • 一生所爱
  • -AI
  • 麒麟
  • 计算机技术
  • 工具
  • ssh
  • docker
  • hexo
  • git
  • net
  • ubuntu
  • kernel
  • gdb
  • nodejs
  • USB
  • -计算机技术 -SCSI
  • qemu
  • UVC
  • linux
  • testtool
  • windows
  • python
  • ftp
  • 记录
  • 码云
  • CSDN
  • live
  • test
  • AI
  • kylin
  • it

crazyboy

曾梦想仗剑走天涯<br>后来工作忙没去了

gdb的command命令调试方法

[busuanzi] 阅读数:3161次 2022-04-01
字数统计: 387字   |   阅读时长≈ 1分

有时候,我们需要用gdb取调试某些系统,但是这些系统又有很高的事实性。
这导致,我们不能够使用常规的gdb断点,中断后再进一步调试,因为者将导致程序被中断,并且等待太久之后,以后的逻辑走向不可预期(多线程)
这个时候,就推荐大家使用这个命令了,command,它可以预置一些命令,用来调试这种,不方便中断,但是可以预期的问题(必现问题,当然你也可以选择持续性的加日志,但是对于某些大型系统而言,每次编译,都是一次折磨)

下面说它的具体用法
首先,我们启动程序,然后加断点
b(reakpoint) xxx
这个时候,用info b 查看 它通常就是breakpoint 1
对应的,我们可以使用d(elete) 1来删除它
也可以使用我们这次主要讲述的command命令,来做一些特别的事情
比如

1
2
3
4
5
6
b xxx //加某个断点
command 1 //针对断点1,执行命令
p val_a //打印某个变量
c //继续执行
ctrl + D //截至命令
c //继续执行

这样,当程序运行时,如果触发了断点,就会临时停下来,执行 p val_a 打印信息让我们查看,但是它确不回就此停下导致程序异常,因为他会接着执行c(ontinue)命令继续运行。
这就达到了,我们一定程度上动态调试的目的

  • 本文作者: crazyboy
  • 本文链接: http://crazyboy.www.crazyboy.info/blog/blog/2022/04/01/it/linux/gdb/
  • 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!
  • 计算机技术
  • gdb
想你
test
目录,不存在的…
© 2022-2025 crazyboy
GitHub:hexo-theme-yilia-plus by Litten
本站总访问量3475次 | 本站访客数3475人