内核调试技术

配置内核的调试选项,"Kernel hacking"配置菜单下的各种调试选项。

 

内核打印函数

1.内核映像解压前串口输出函数

Linux启动过程中,decompress_kernel()函数调用了putstr()函数,直接向串口打印内核解压的信息。

putstr()函数实现向串口输出字符串的功能。因为不同的处理器可以有不同的串口控制器,所以putstr()函数的实现依赖于硬件平台。

 

2.内核错误报告子程序

在内核解压完成,跳转到vmlinux映像入口。这是还没有初始化控制台设备,但是执行系统初始化过程的过程中也可能出现严重的错误,导致系统崩溃,可以通过printascii子程序来向串口打印。

printascii子程序实现向串口打印字符串的功能,printhex也调用了pritascii子程序来显示数字。

printascii、printhex8等子程序包含在/arch/arm/kernel/debug.S文件中。如果要编译链接这些子程序,需要内核使能"Kernel low-level debugging functions"选项。

 

3.内核打印函数

Linux内核标准的系统打印函数是printk

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值