【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 + 变量名 + 值:修改一个变量的内容。


未完待续

相关推荐
青衫码上行1 分钟前
【JavaWeb学习 | 第17篇】JSP内置对象
java·开发语言·前端·学习·jsp
Molesidy7 分钟前
【Embedded Development】【TCP-IP】关于TCP-IP网络协议的学习记录以及基于TCP-IP网络协议的上层协议的初步理解
网络协议·学习·tcp/ip
Darken0310 分钟前
基于 STM32 ——GPIO输出
单片机·学习·gpio·硬件
组合缺一11 分钟前
Solon AI 开发学习10 - chat - 工具调用概念介绍
java·人工智能·学习·ai·llm·solon
丝斯201112 分钟前
AI学习笔记整理(25)—— 计算机视觉之目标检测
人工智能·学习·计算机视觉
AA陈超12 分钟前
只想克隆项目中的 Source 文件夹,而不影响其他内容
笔记·git·学习
python百炼成钢13 分钟前
49.Linux音频驱动
android·linux·音视频
TangGeeA15 分钟前
Linux CFS(完全公平调度器)全面总结
java·linux·服务器
随风一样自由17 分钟前
React内逐行解释这个 package.json 文件,最近搞了个工厂AI生产平台,顺便来学习一下
学习·react.js·json·package
AA陈超19 分钟前
Lyra学习5:GameFeatureAction分析
c++·笔记·学习·ue5·lyra