计算机网络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、执行原理和注意事项

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

相关推荐
A小辣椒18 小时前
TShark:Wireshark CLI 功能
linux
A小辣椒1 天前
TShark:基础知识
linux
AlfredZhao1 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao2 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334662 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
大树883 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质3 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush43 天前
嵌入式linux学习记录十四、术语
linux·嵌入式