【Linux】Linux环境基础开发工具_6

文章目录


四、Linux环境基础开发工具

gdb

我们已经可以写代码了,也能够执行代码了,但是代码错了该如何调试呢?Linux中可以使用 gdb 工具进行调试。

我们写一个简单的程序:



但是我们尝试使用命令时,发现根本用不了,原因是 gcc/g++编译时默认的是 release 模式 ,而我们都知道,release 模式不可以调试,只有 debug 模式才能调试

那如何使其编译时使用 debug 模式呢?在末尾加上 -g 选项就可以使用 debug 模式 。

gdb 的基本调试指令(gdb 可以自动记录最近一次的命令):

l + 行号 :显示指定行之后的代码。

r :可以执行程序。

b + 行号:在指定行打断点。

b + 函数名:在函数入口处打断点。

b + 文件名 + ::在某个文件程序内打断点,搭配上面使用。

info b:查看断点。

d + 断点编号:删除相应断点。

disable + 断点编号:禁用相应断点。

enable + 断点编号:启用相应断点。

n :逐过程(不进入函数内部)。

s :逐语句(进入函数内部)。

p + 变量名:显示变量的当前值(不是常显示)。

display + 变量名:显示变量的当前值(常显示)。

undisplay + 变量编号:取消 display 常显示的变量。

c :从一个断点运行程序到下一个断点。

bt :查看调用堆栈。

finish :将一个函数运行结束就停下来。

until + 行号:在一个范围内,直接运行到指定行。

set var + 变量名 + 值:修改一个变量的内容。


未完待续

相关推荐
传奇开心果编程3 小时前
【xilem0.4基础语法学与练】第13课:Xilem 0.4 最简短代码体现“一切皆设计图“
学习·rust·前端框架
小雪崩4 小时前
嵌入式学习 day45:51单片机基础
学习·51单片机
彧azz6 小时前
Java学习语法篇:变量
java·学习
bosins6 小时前
WSL 迁移指南:如何将 Linux 环境完整复制到另一台电脑
linux·运维·服务器
Yanjun2i6 小时前
Agent学习记录五:Pydantic验证
人工智能·python·学习
企鹅的蚂蚁7 小时前
LubanCat RK3588 实时 Linux 开发(六):启用 gs_usb 驱动并完成 USB-CAN 收发
linux·rk3588·linux驱动·socketcan·gs_usb·usb-can
2601_962299888 小时前
Linux执行Python脚本方法
linux·python·脚本·解释器·shebang
xqqxqxxq8 小时前
AI Agent学习:Agent协作工具技术笔记(李博杰《深入理解 AI Agent》4.6观后总结)
笔记·学习
白猫不黑8 小时前
大学网安方向学习路线:零基础与有基础的学习顺序整理
学习·web安全·计算机·网络安全·信息安全·编程·src漏洞
snow@li8 小时前
服务器运维:Linux命令速查手册(全景梳理)
linux·服务器·网络