码迷,mamicode.com
首页 > 其他好文 > 详细

2018-2019 20165235 《信息安全系统设计基础》第一周

时间:2018-09-23 18:23:07      阅读:322      评论:0      收藏:0      [点我收藏+]

标签:调试过程   查询   一半   -o   调试   安全   技术   gdb   汇编   

测试1-vi

  1. 每个.c一个文件,每个.h一个文件,文件名中最好有自己的学号
  2. 用Vi输入图中代码,并用gcc编译通过
  3. 在Vi中使用K查找printf的帮助文档
  4. 提交vi编辑过程截图,要全屏,包含自己的学号信息
    这是编写好的文件以及文件夹目录:
    技术分享图片
    这是vi中的printf帮助文档,首先cd src/main.c 通过hjkl键将光标移动到printf上去,按大写的K即可:
    技术分享图片
    这是编译.c文件以及运行结果:
    技术分享图片
    技术分享图片

    测试2-gcc测试

  5. gcc 进行预处理,编译,汇编,链接vi输入的代码
  6. 生成的可执行文件中要有自己的学号
  7. 提交预处理,编译,汇编,链接,运行过程截图,要全屏,包含自己的学号信息
    预处理:gcc -E -I include src/*.c -o bin/*.i
    技术分享图片
    编译:gcc -S -I include bin/*.i -o bin/*.s
    技术分享图片
    汇编: gcc -c -I include bin/*.s -o bin/*.o
    技术分享图片
    链接:cd bin gcc *.o -o test
    技术分享图片

    使用到的命令

    1.gcc -E .c -o .i编译预处理
    2.gcc -S .i -o .s产生汇编代码
    3.gcc -c .s -o .o 进行汇编
    4.gcc * .o -o XXX生成可执行文件
    5.ls显示文件列表

    测试3-gdb测试

  8. 用gcc -g编译vi输入的代码
  9. 在main函数中设置一个行断点
  10. 在main函数增加一个空循环,循环次数为自己学号后4位,设置一个约为学号一半的条件断点
  11. 提交调试过程截图(一定包含条件断点的),要全屏,包含自己的学号信息
    首先要gcc -g来生成一个可执行文件,打开gdb调试,然后设置行断点 b 9(第九行)
    技术分享图片
    技术分享图片
    输入r开始调试:
    技术分享图片
    设置条件断点:
    技术分享图片

     gdb相关命令

    1.set args 可指定运行时参数。(如:set args 10 20 30 40 50 )
    2.show args 命令可以查看设置好的运行参数。
    3.run (r)启动程序。
    4.pwd显示当前的所在目录。
    5.break设置断点,可以简写为b
    6.b X(整数) 设置断点,在源程序第X行
    7.b func设置断点,在func函数入口处
    8.info b 查询所有断点
    9.b X(整数) if i==X设置条件断电,在for循环后一行设置。

    测试4-静态库的测试

  12. 除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,如何制作一个mymath.a静态库?main.c如何使用mymath.a?
  13. 提交静态库生成和调用过程截图(一定包含条件断点的),要全屏,包含自己的学号信息
    加上-g将.c文件编译成.o文件,输入图上指令生成一个mymath.a的静态库文件,然后用mymath.a文件生成一个可执行文件test
    技术分享图片
    对可执行文件的调试:
    技术分享图片

    测试5-共享库

  14. 除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,如何制作一个mymath.so共享库?main.c如何使用mymath.so?
  15. 提交共享库生成和调用过程截图(一定包含条件断点的),要全屏,包含自己的学号信息
    输入图上代码生成一个共享库文件,并用共享库文件生成一个可执行文件:
    技术分享图片
    对可执行文件的调试:
    技术分享图片

    测试6-Makefile

    1 写出编译上面vi编辑代码的makefile,编译出来的目标文件为testmymath, 只用显式规则就可以.
    2 提交Make过程截图,要全屏,包含自己的学号信息
    首先 vim Makefile:(第二行开头使用Tab键)
    技术分享图片
    然后在shell中输入make
    技术分享图片
    运行生成的目标文件:
    技术分享图片

    在编辑makefile文本时需注意:一个Makefile文件主要含有一系列的规则,每条规则包含一下内容:一个目标,即make最终需要创建的文件,如可执行文件和目标文件;目标也可以是要执行的动作,如‘clean’;一个或多个依赖文件的列表,通常是编译目标文件所需要的其他文件。之后的一系列命令,是make执行的动作,通常是把指定的相关文件编译成目标文件的编译命令,每个命令占一行,并以tab开头。

2018-2019 20165235 《信息安全系统设计基础》第一周

标签:调试过程   查询   一半   -o   调试   安全   技术   gdb   汇编   

原文地址:https://www.cnblogs.com/qy20165235/p/9693021.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!