格蠹信息科技有限公司
GDB · 夏训 · 查看变量
www.nanocode.com
盛格塾 2024 暑期公益课程
GDB暑假训练营
2024年8月1日,继 GDB 暑假训练营的埋伏断点探索之旅后,我们再次相聚于屏幕前,开启了 GDB 功能探索的新篇章——查看变量。在编程这片星空中,变量如同星辰般点缀其间,它们承载着程序的灵魂与动态,我们通过洞察这些变量来探寻这片星空的奥秘。
随着直播的序幕缓缓拉开,我满怀激情地踏入了这次查看变量的旅程。此次直播还加入了一些关于 GDB 的简单介绍,通过这次实战,旨在让每一位观众都能亲手揭开变量神秘的面纱。
直播开始,我首先简要回顾了 GDB 的基本操作,以及上一期的埋伏断点的相关知识,为即将展开的变量查看之旅铺垫基础。随后,我直奔主题,开始展示我实际操作的代码。每一次敲击键盘输入的命令,就像是向它发出了一道道探索指令。只见它不急不躁,紧紧跟随我的步伐,带领我深入程序的迷宫,一一揭开那些隐藏的变量的秘密。
“在 GDB 中,查看变量值的基本命令是 print 或简写为 p。” 我边操作边解说,“只需在 GDB 命令行中输入 p 变量名,GDB 便会显示该变量当前的值。” 随着我的演示,屏幕上变量值的一一呈现,让每个人都感受到了 GDB 查看变量这个功能的强大与便捷。
然而,GDB 的魅力远不止于此。我进一步介绍了如何查看复杂数据结构(如数组、结构体等)中的变量值。通过 print 命令结合数组索引或结构体成员访问符,我们能够轻松获取到这些复杂数据结构内部变量的详细信息。这一过程中,我也不断尝试引导观众自己动手尝试,让他们在实践中加深对变量查看的理解与掌握。
随着直播的深入,我还分享了几个实用的 GDB 技巧,如使用 display 命令自动显示变量值,也请张老师给我解释了一下 print 和 display 两个命令的区别。这些互动过程,也让调试过程变得生动有趣。
当直播接近尾声时,我也引入了下一节课的主题查看内存。这次直播的热情反馈让我深感欣慰与鼓舞。这次 GDB 变量查看直播不仅让我又掌握到了 GDB 查看变量的新功能,也在和张老师的互动中查缺补漏。
回望这段充满收获与喜悦的直播历程,我坚信:在编程的道路上,只有不断学习、勇于探索才能不断前行。未来,我将继续带领大家深入探索 GDB 的更多功能与应用场景,共同书写属于我们的编程传奇。同时,我也诚挚地邀请每一位热爱编程、渴望在 GDB 世界中遨游的你加入我们的行列。让我们携手并进、共同成长,在编程的海洋中乘风破浪、勇往直前!
知识点归纳
序号 | 命令 | 描述 |
01 | p(print) | 打印变量 |
02 | display | 控制 GDB 当前显示面板 |
03 | n(next) | 单步执行 |
04 | pt(ptype) | 查看变量的类型 |
05 | p intArray[1]@3 | 查看数组1-3的值 |
06 | p person | 查看结构体的变量 |
07 | info locals | 查看当前作用域所有局部变量的值 |
08 | display $pc | 显示当前程序计数器的值 |
09 | set var char=’B’ | 修改变量值为’B’ |
10 | info display | 观察当前 GDB 显示面板的内容 |
11 | x /4xw &var | 查看内存内容 |
STEP
01
1. 前情回顾
STEP
02
2. 查看变量
STEP
03
3. 查看变量类型
STEP
04
4. 查看数组类型变量
STEP
05
5. 查看结构体类型变量
STEP
06
6. 查看当前作用域所有局部变量的值
STEP
07
7. 查看指针类型变量
STEP
08
8. 把变量放进显示面板
STEP
09
9. 显示当前程序计数器的值
STEP
10
10. 修改变量的值
STEP
11
11. 修改不同类型的变量
STEP
12
12. 显示当前线程的函数调用堆栈信息
STEP
13
13. 用于打印出之前使用display命令的列表
STEP
14
14. 查看内存
【盛格塾】
正心诚意,格物致知
以人文情怀审视软件,以软件技术改变人生
格友公众号
盛格塾小程序
扫描上方二维码或在微信中搜索“盛格塾”小程序
可以阅读更多文章和有声读物
往期推荐