首页 > 系统相关 >linux工具学习 day03

linux工具学习 day03

时间:2023-05-15 20:33:40浏览次数:32  
标签:文件 day03 make makefile 目标 linux 工具 执行 断点

1、gdb命令

  1. run:在调试器中运行程序
  2. list:查看程序源码
  3. break+行号:设置断点
  4. break+行号+if条件:设置断点
  5. break+函数名:设置断点
  6. info break:查看断点信息
  7. delete+断点编号:删除断点
  8. enable/disable:使能断点
  9. print+X+变量名:查看变量值
  10. next:单步执行,不进入子函数(跳过函数,直接拿结果)
  11. step:单步执行,进入子函数
  12. continue:继续执行,遇到下个断点
  13. finish:继续执行,在函数内部时,执行到函数结束
  14. call+函数名:调用函数
  15. print+变量=值,设置变量里面的值
  16. clear:清除所有断点
  17. ptype+变量:查看变量类型
  18. gdb+可执行文件+--tui:启动图形化调试窗口
  19. layout asm:显示汇编
  20. layout src:显示源码
  21. layout spilt:显示源代码+汇编

2、工程管理器make(如何编写makefile文件)

  1. 什么是工程? 多个源文件+其他文件(图片+头文件+脚本)
  2. 工程管理器的作用:自动编译多个源文件
  3. make的依赖makefile(大小写都可以,会先用小写,可以-f 指定目标文件)
  4. makefile文件是一种脚本文件
  5. makefile语法:
    1.       目标(最终生成的文件):真目标(会生成目标文件)伪目标(用   . PHONY 声明不会生成目标文件)
    2.   依赖(生成目标时所需要的文件)、命令(生成目标时,需要执行的命令)
  6. 执行顺序
    1.   make:默认从第一个目标体执行
    2.         make+目标体:从对应的目标体执行
    3.        如果目标体后面依赖的文件是一个目标的话,先执行依赖对应的目标,在执行目标体的命题
  7. 自动化变量($^ 所有依赖文件    $@目标文件  $< 第一个依赖文件) gcc $^ -o $@ 还可以用@取消回显,可以用@echo make done 进行回显
  8. 多级目录下的makefile(衣橱分开装衣服,方便拿取,方便更新)
    1.   顶层:总控:进入各个子功能目录下执行make命令,将各个子目录下的.o文件链接生成可执行文件
    2.         子目录:功能:将当前目录下的.c文件编译成.o文件
    3.         scripts目录:头文件:定义一些变量
    4. 观看顺序,3,1,2,。不懂可以看书上的一些东西

标签:文件,day03,make,makefile,目标,linux,工具,执行,断点
From: https://www.cnblogs.com/gunancheng/p/17402473.html

相关文章

  • 千聊视频课件课程下载工具,如何在电脑端下载千聊视频课件PDF,PPT到本地
    一.安装千聊课程下载器1.获取学无止下载器https://www.xuewuzhi.cn/qlchat_downloader2.下载安装后,然后点击桌面快捷方式运行即可。注意:杀毒软件可能会阻止外部exe文件运行,并将其当做成病毒,直接添加信任即可,本软件绝对没有木马病毒。二.使用说明1.学无止下载器介绍学无......
  • 原型设计工具对比及部分使用感受
    一、原型设计工具对比随着市场上软件数量的增加,对一个软件好坏的评估不仅仅聚焦于它的功能,也要注重软件本身是否美观、简洁,原型设计中会接触到很多设计工具,下面根据网络资源及个人使用体验进行对比~序号工具名称简介优点价格(个人)兼容情况1Pixso集多种功能于一身......
  • Windows平台下的Go版本切换工具-g
    voidint/gg是一个Linux、macOS、Windows下的命令行工具,可以提供一个便捷的多版本go环境的管理和切换。在这里我们介绍一下在windows下的使用,涉及到我们开发所需要用到的几个go项目层环境变量它们分别是GOPATH,GOPROXY,GO111MODULE,需要先在主页->高级系统设置->环境......
  • Scrum敏捷管理工具
    ​1、Leangoo领歌Leangoo领歌国内知名敏捷开发工具,它覆盖了敏捷项目研发全流程,包括小型团队敏捷开发,规模化敏捷SAFe,ScrumofScrums大规模敏捷。其主要功能/解决问题的价值包括:1)能够支持多种场景,如:敏捷研发管理、敏捷项目管理、工作流管理、轻量级项目群管理、任务管理等。2)管理......
  • Linux操作系统分析-课程总结报告
    结合虚拟化技术分析Linux系统的一般执行过程虚拟化层启动:在虚拟化环境中,物理主机上的虚拟化软件(如VMware、KVM等)启动,并创建虚拟机管理器(VMM)或称为hypervisor。VMM负责管理虚拟机的创建、销毁和资源分配。虚拟机创建:VMM根据用户的需求创建虚拟机实例。虚拟机实例是一种逻辑上的隔......
  • 浅谈接口测试及常用工具介绍
    前言目前软件测试行业做功能测试和接口测试的人相对比较多。API测试是一种作为集成测试的一部分、通过直接控制被测应用的接口(API)来确定是否在功能、可靠性、性能和安全方面达到预期的软件测试活动。由于API都没有GUI界面,API测试都是在通讯层进行的。现在API测试在自动化......
  • linux中安装jdk
    安装步骤:1.首先我们需要一台虚拟机或者一台配置了环境的服务器这里我们使用阿贝云服务器。2.搜索需要的jdkyumsearchjdk 3.安装需要的版本yuminstall java-1.8.0-openjdk-devel.x86_644.安装完成查看版本......
  • Linux系统的一般执行过程与虚拟化技术结合分析
    Linux系统一般执行过程Linux操作系统的启动过程一般分为四个阶段:BIOS启动引导阶段、GRUB启动引导阶段、内核阶段和init初始化阶段。BIOS启动引导阶段:计算机加电后,首先运行的是BIOS程序。BIOS程序会检测计算机硬件设备并进行初始化,然后将控制权交给下一级的启动引导程序。GRUB......
  • Linux下部署安装JDK
    系统:Centos7安装jdk版本:1.8.0_371安装方式:压缩包jdk官网下载 https://www.oracle.com/java/technologies/downloads/#java8 先用Java-version命令检测系统是否默认安装了jdk,如有可以使用rpm命令卸载!1、利用工具将下载的包放到/usr/local下并解压#切换到jdk目录下cd/u......
  • docker实用工具之查看容器启动命令
    随着docker使用的深入,有一个痛点出现了,就是在用的docker容器启动命令是啥,启动命令对应docker容器来说相当于容器的根,但是一般的使用场景,启动完容器之后,如果不刻意记录,启动命令就很容易丢失了没有启动命令,就不敢轻易删除容器,还有容器内的数据是否挂在出来也不能及时发现,对后面的......