2019-2020-1 20175325 《信息安全系统设计基础》第1周学习总结
Posted sgm5
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2019-2020-1 20175325 《信息安全系统设计基础》第1周学习总结相关的知识,希望对你有一定的参考价值。
2019-2020-1 20175325 《信息安全系统设计基础》第1周学习总结
一、目录:
- 学习内容
- 代码调试中的问题和解决过程
- 感想
- PSP
二、学习内容:
- 计算机:硬件+系统软件
- 系统得硬件组成:
- 总线,携带信息字节并负责在各个部件传递
- I/O设备,系统与外部世界的联系通道
- 主存:临时存储设备,用来存放程序处理的数据
- 处理器:解释和执行村塾在主存中指令的引擎
- 编译器gcc:
- 命令格式:
gcc+选项+文件名
- 命令格式:
-E:仅执行编译预处理
-S:将C代码转换成汇编代码
-c:仅执行编译操作,不进行链接
-o:指定生成输出文件
-I:指定头文件目录
-l:指定程序需链接的库
-L:指定库文件所在的目录名
- 编译过程:
- 预处理:
gcc -E hello.c -o hello.i
- 汇编:
gcc -S hello.i -o hello.s
- 汇编:
gcc -c hello.s -o hello.o
注意:vim查看hello.o时会出现乱码,常用objdump -d hello.o
- 链接:
gcc hello.o -o hello
- 预处理:
- 编译
- 将源文件一起编译:
gcc test_a.c text_b.c -o test / gcc *.c -o test
- 各个源文件分别编译再进行链接:
gcc -c test_a.c
gcc -c test_b.c
gcc -o test_a.o test_b.o -o test
- 将源文件一起编译:
- 有关vim:
- 打开方式:vim [文件名]
- 按i会进入insert模式,可以对代码进行编辑
- 按Esc会进入普通模式
- 使用快捷键进行编辑,编辑方式为:
h 向左移动光标
l 向右移动光标
j 向下移动光标
k 向上移动光标
w 移动到下一个单词
- vim的退出与保存
- 保存并退出:
:wq+回车键
,Esc+Shift+zz
- 不保存并退出:
Esc+q!
- 保存并退出:
- GDB基本命令
gdb programm
(启动GDB)- b 设断点:要会设4种断点:行断点、函数断点、条件断点、临时断点
run
开始运行程序bt
打印函数调用堆栈p
查看变量值c
从当前断点继续运行到下一个断点n
单步运行s
单步运行quit
退出GDB大写“K
”可以用来查找函数的帮助信息:查看man page
,命令模式下,将光标放在函数名上,按"K"可以直接察看 man page。- 断点调试:
break x
(x表示设置断点位置的行号)
delete x
(x表示删除断点的行号)
list
显示带行数的代码
start+cotinue=run
运行
s+c=r
watch b
观察变量b的值,变化时程序停止
s
进入函数内部
n
单步调试
quit
退出gdb
info b
查看断点信息并保存
save breakpoint fig.dp
保存断点到fig.dp中
gdb hello2 -x fig.dp
调试时读取保存断点文件
- Makefile文件的书写格式:
vim Makefile
- Makefile文件中添加清除命令(clean),如:
.DCT:clean
clean: 删除所有文件类型为.o的文件
- Makefile文件中添加清除命令(clean),如:
rm –rf *.o
编译和执行(make:编译, ./all:执行)
三、代码调试中的问题和解决过程
- 问题一:在做测试的时候,不会使用GDB设置断点
- 解决方案:在参考gdb常用断点调试总结,学习了(条件)断点的设置和保存,以及一些简单的GDB指令。
- 问题二:GDB调试问题出现有符号表被读取,请使用"file" 命令”
- 解决方案:在编译的时候,没有加-g的选项,导致没有产生调试符号。
四、感想:
在学习初期,由于大写的i(I),和小写的L(l)经常分不清楚,所以导致了很多编译错误,浪费了一些时间,多熟悉gcc相关的指令,便会避免出现这种问题,通过使用蓝魔云的视频学习,自己不太懂的知识点可以反复观看,但还是有一些知识点不太能掌握,还需巩固。
五、PSP:
------ | 代码行数 | 博客量 | 学习时间 |
---|---|---|---|
目标 | 5000 | 25篇 | 400小时 |
第一周 | 63/63 | 1 | 7 |
以上是关于2019-2020-1 20175325 《信息安全系统设计基础》第1周学习总结的主要内容,如果未能解决你的问题,请参考以下文章
2019-2020-2 20175224 20175236 20175325 实验二 固件程序设计
20175325 《JAVA程序设计》实验二《JAVA开发环境的熟悉》实验报告