当前课程知识点:互联网体系结构 >  第三周:TCP协议与Linux内核 >  Linux系统的编译、构建和调试 >  Video

返回《互联网体系结构》慕课在线视频课程列表

Video在线视频

Video

下一节:Video

返回《互联网体系结构》慕课在线视频列表

Video课程教案、知识点、字幕

我们把那个Linux系统

一个简单的linux系统构建起来之后呢

我们还需要掌握一定的方法

就是调试linux内核的代码对吧

这个对我们去分析内核的代码

跟踪分析的光阅读代码可能是不够的

光阅读代码叫纸上得来终觉浅是吧

我们需要看代码的实际是怎么执行的

因为内核的代码比较复杂

我们想把它完全理解透彻的是很困难的对吧

所以呢

我们可以看着代码

对照着他的执行过程

他在实际的运行这样

那就是更靠谱一些

对吧

跟我们在理解上更准确一些和系统的值

实际执行可以对照起来

那我们来看怎么来构建这linux内核的gdb调试环境

嗯首先呢

我们需要重新配置编译内核

使它携带调试信息由正常编译的内核

它是符号表信息呢

代码符号表内信息呢

他都是不携带的

所以呢

我们需要重新编译一下

恩重新配置

重新配置

重新编译一下

然后呢

我们第二步呢

是我们在QEMU里边的需要启动gdb server

实际上是加个参数就可以了啊

然后呢

我们再用gdb客户端与gdb server建立连接之后呢

我们还需要把

我们刚被重新编译的符号表加载进了这样

那我们就可以设置断点

就可以跟踪这个几次内核的执行过程了

那我们来看具体来看下怎么重新配置内核呢

那我们在使用

而且你根据你自己的环境

你是使用

你用完这个之后呢

你再使用一个

我们找到

有一个编译内核让他携带,就是携带调试信息的来编译内核

这样那我们再重新编译就可以了

那我们来看一下怎么找这个哈

我们进入到这个呢

我都是make,之前我们都是编译过的对吧

编译配置好的我们就

我们就翻到最下

就可以找到

里面呢

有一个

进入第一个呢

就是这个,对吧

就是

这个是选中状态的对吧选中状态

这样当我们把它保存退出

保存退出

就这时

侯那再重新编译是吧

重新编译就可以了

重新编译就可以编译会需要很长时间的吧

我们再来看他怎么样

在这个QEMU中启动gbd server

这地方那比我们之前的这个命令行

那我们又多加了一个参数

-s和-S

小S大S不是台湾那个小S大S啊

也就是说

我们这样的小s呢

是指这个gdb server的TCP端口是1234的默认使用1234

但是我们也可以修改它的吧

我们可以修改

但是我们这地方就默认的了

然后呢

-S呢

是冻结CPU

在启动的时候冻结CPU

这也就是我们可以看一下

这样

当我们启动的时候

你会发现我们启动起来之后

他的QEMU的窗口

它是黑屏的还是stopped

这就是大S起作用了

对吧大S起作用

那么我们呢

这时

那我们打开一个

再打开一个窗口

这时侯那我们在恩打开一个

GDB的客户端呢

我们这时候就可以

1234端口占到我们就可以连接到这个

客户端上同时

那我们需要把这个linux

我们编译好的带debug信息的带就是符号表的信息的

把它加载进来

把它加载进

这时候

如果我们就是

也可以也可以用c替代

这时

我我们可以设置一个断点啊

你先设置一个断点break我们设置断点

我们就设置在

我发现他可以找到,这个函数

而且他精准的找到了这个在init目录

下面main.c 的538行有一个

我说

那我们用C就可以

互联网体系结构课程列表:

第一周:互联网概述

-课程内容简介

--Video

-网络协议基础

--Video

--Video

--Video

--Video

-上网浏览网页背后的网络通信过程

--Video

--Video

-实验环境安装配置

--Video

-网络相关命令

--Video

--Video

-本周作业

--外部链接

第二周:Socket网络编程

-编译、构建和调试

--Video

--Video

--Video

-Socket接口

--Video

--Video

-UDP范例代码

--Video

-TCP范例代码

--Video

-本周作业

--外部链接

第三周:TCP协议与Linux内核

-TCP协议概述

--Video

--Video

-Linux网络协议栈源代码简介

--Video

-Linux系统的编译、构建和调试

--Video

--Video

-TCP协议源代码分析

--Video

-本周作业

--外部链接

第四周:IP协议及路由表

-IP协议基础

--Video

-路由表

--Video

-路由转发举例

--Video

-IP协议栈源代码解析

--Video

-路由协议简介

--Video

-网络层数据传输路径解析

--Video

-本周作业

--外部链接

第五周:ARP协议及ARP缓存

-ARP协议基础

--Video

-ARP解析的过程

--Video

-ARP解析在网络传输过程中的作用

--Video

-ARP协议栈源代码解析

--Video

-本周作业

--外部链接

第六周:二层交换网络及转发过滤数据库

-以太网基础

--Video

--Video

-交换机的学习、转发和过滤数据库

--Video

-常见二层协议

--Video

-数据链路层在Linux网络协议栈中的一些关键代码分析

--Video

-本周作业

--外部链接

第七周:DNS协议及域名存储与解析

-DNS协议基础

--Video

-DNS域名的存储

--Video

-DNS域名解析过程分析

--Video

-本周作业

--外部链接

第八周:互联网架构设计背后的渊源

-互联网架构设计的最初动机与核心目标

--Video

-互联网架构设计的具体目标及背后重要权衡

--Video

--Video

--Video

-课程考核

--外部链接

Video笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。