计算机网络30——Linux-gdb调试命令&makefile

1、开始调试

编译时带-g为调试,带调试信息编译后的可执行文件更大

2、进入调试

使用gdb 可执行文件名------进入调试

失败版:

成功版:

3、l命令

l什么都不加------列出10行代码

l 行号------行号的行在中间,向上向下展示10行

4、start

开始调试,断点默认停在main函数第一行

5、下一步调试

逐过程:next,如果调用其他函数,也不进入,直接进入下一条语句

逐语句:step,遇见函数进入

6、打印变量值

p 变量名

display 变量名------持续打印变量值

结束监控:undisplay 变量号

7、结束调试

8、重新开始

9、下断点

b 行号

10、run

停在第一个断点处,开始调试

11、查看所有断点信息

12、继续

continue 继续到下一个断点处

13、禁用断点和重新使用


1、makefile

2、测试makefile文件(1)

(1)准备一个main文件

(2)写makefile文件

version是版本号

myapp是要生成的可执行文件的名字,main.c是依赖文件的名字

下面是和外面一样的编译命令

如果没有修改,不会重新编译

3、测试文件(2)

makefile文件

在已经生成后,修改一个文件,重新执行时只会重新编译修改的文件,其余不会变

4、执行原理和注意事项

解决路径中空格的问题,写脚本时,不要留空格

相关推荐
无奈笑天下14 小时前
银河麒麟上nproc命令教程详解
linux·运维·服务器
Rabitebla17 小时前
【Linux】进程控制(十二) 自定义 Shell(二):内建命令与进程工作目录管理
linux·c++·笔记·学习·bash
威嵌神州18 小时前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存
Decay__19 小时前
SQLServer 索引与 SQL 优化 —— 聚集索引、非聚集索引、覆盖索引、碎片维护与执行计划
运维·数据库·sql·mysql·架构
java_logo19 小时前
Docker 部署 DeepSeek Harness(moelin):轻松搭建带登录的本地 AI Agent 平台
运维·docker·容器·ai agent·deepseek·harness·轩辕镜像
坤坤子吖21 小时前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
AI_Gump1 天前
Harness篇|DeepSeek Harness 上手机:五条安卓移植路线与 App 内 Linux 拆解
android·linux·人工智能·智能手机·deepseek
星恒随风1 天前
MySQL 从零入门(六):复合查询详解——多表查询、自连接、子查询与 UNION
linux·服务器·数据库·mysql
少司府1 天前
嵌入式入门篇(二):初识STM32F103ZET6
linux·python·stm32·单片机·嵌入式硬件·mcu·嵌入式软件
无足鸟ICT1 天前
【RHCA+】IO调度算法
linux·服务器