一:ELF概述:
ELF即可执行的和可链接的格式。ELF格式的文件用于存储Linux程序。ELF是一种对象文件的格式,用于定义不同类型的对象文件中都有什么内容、以什么样的格式方这些内容。
ELF文件的3种类型:
1.可重定位文件;在编译Linux内核时,每个内核源代码.c文件都会生成一个同名的.o文件,该文件即为可重定位目标文件,最后所有.o文件会链接为一个文件,即Linux内核
2.可执行文件;一般有多个可重定位文件结合生成。
3.共享目标文件;指可以被可执行文件或其他库文件使用的目标文件。
ELF文件的作用:
ELF文件参与程序的链接和程序的运行
二:Linux内核如何装载和启动一个可执行程序
1.更新menu
2.查看test.c文件,查看更新后的exec函数,如下图:
下面进行gdb调试:
返回LinuxKernel,让MenuOs停下:
打开一个新的终端进行gdb调试:
分别设置断点:
查看hello文件头部信息: