2017-2018-1 20155229 《信息安全系统设计基础》第五周学习总结

2017-2018-1 20155229 《信息安全系统设计基础》第五周学习总结

教材学习内容总结

教材学习中的问题和解决过程

  • 问题1:call ret 命令的作用与使用

  • 问题1解决方案:
    对于代码

#include <stdio.h>  
  int main()  
{  
        printf("hello, world
");
        return 0;  
}  

中只调用了一个库函数printf()

代码调试中的问题和解决过程

  • 问题1:在对实验代码(下图)

使用 gcc -g gdbdemo.c -o gdbdemo -m32 命令在64位的机器上产生32位汇编代码时,产生了错误(找不到截图了)

  • 问题1解决方案:使用sudo apt-get install libc6-dev-i386命令安装一个库,问题就得到解决了

  • 问题2:使用gdb对上述代码进行调试
    设置完断点后,运行

使用disaaemble获取汇编代码,i r用来查看各寄存器的值

si是用来单步跟踪一条机器指令,然后继续使用i r查看寄存器的值,明显发现,两次eap的值不同

代码托管

(statistics.sh脚本的运行结果截图)
感觉这周的代码统计有bug,因为我上周统计时的总代码为185,这周敲的代码为130,但总代码才为195

上周考试错题总结

  • 错题1:

main.c 调用了静态库libmath.a中的函数,编译main.c的命令是()

A .gcc -static main.c ./libmath.a -o main

B .gcc -static main.c -L. -lmath -o main

C .gcc -static main.c -L. -llibmath.a -o main

D .gcc -static main.o ./libmath.a -o main

  • 正确答案:A、B

  • 错题2:

dll,so文件的链接是运行在()

A .编译时

B .加载时

C .运行时

D .链接时

结对及互评

点评模板:

  • 博客中值得学习的或问题:

  • 代码中值得学习的或问题:
    • xxx

本周结对学习情况

- [20155225](博客链接)
- 结对照片
- 结对学习内容
    - 学习教材第三章内容
    - 回顾课堂上的知识 并总结
    - 回顾周二实验的内容,写实验报告

其他(感悟、思考等,可选)

本周学习的是第三章的内容——程序的机器级表示,内容较于上一章,还是很多的,而且涉及到了汇编语言的表示。因为汇编的大多知识点都忘记了,所以在学习这一章时还回顾了上学期汇编的一些知识,但是c语言与汇编的相结合对于我来说可能还有些困难,这就需要接下来的时间对本章内容加深学习。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 15篇 400小时
第一周 20/20 1/ 12/12
第二周 42/62 1/2 8/20
第三周 62/124 1/3 14/34
第四周 61/185 1/4 10/44
第五周 / 2/6 13/57

(代码统计有bug,先不进行统计,详情见上面代码截图部分)

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:15小时

  • 实际学习时间:13小时

  • 改进情况:

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料

原文地址:https://www.cnblogs.com/fyhtvxq/p/7710540.html