2018-2019 信息安全系统设计基础 第一周总结

测试一
0. 每个*.c一个文件,每个*.h一个文件,文件名中最好有自己的学号 1. 用Vi输入图中代码,并用gcc编译通过 2. 在Vi中使用K查找printf的帮助文档 3. 提交vi编辑过程截图,要全屏,包含自己的学号信息




测试二

1. 用gcc 进行预处理,编译,汇编,链接vi输入的代码 2. 生成的可执行文件中要有自己的学号 3. 提交预处理,编译,汇编,链接,运行过程截图,要全屏,包含自己的学号信息

 

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

测试三

1. 用gcc -g编译vi输入的代码
2. 在main函数中设置一个行断点
3. 在main函数增加一个空循环,循环次数为自己学号后4位,设置一个约为学号一半的条件断点
3. 提交调试过程截图(一定包含条件断点的),要全屏,包含自己的学号信息



测试四
1. 除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,如何制作一个mymath.a静态库?main.c如何使用mymath.a?
2. 提交静态库生成和调用过程截图(一定包含条件断点的),要全屏,包含自己的学号信息


测试五
1. 除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,如何制作一个mymath.so共享库?main.c如何使用mymath.so?
2. 提交共享库生成和调用过程截图(一定包含条件断点的),要全屏,包含自己的学号信息



测试六
1 写出编译上面vi编辑代码的makefile,编译出来的目标文件为testmymath, 只用显式规则就可以.

2 提交Make过程截图,要全屏,包含自己的学号信息

最后总结了一些基本命令:
  • gdb programm(启动GDB)
  • b 设断点(要会设4种断点:行断点、函数断点、条件断点、临时断点)
  • run 开始运行程序
  • bt 打印函数调用堆栈
  • p 查看变量值
  • c 从当前断点继续运行到下一个断点
  • n 单步运行
  • s 单步运行
  • quit 退出GDB

学习感悟:这是本学期第一周的任务,感觉并不是很复杂,多看看书其实就能学会,但是还是需要勤于练习,不然可能马上就会遗忘掉。

 

猜你喜欢

转载自www.cnblogs.com/brs6666/p/9693693.html