linux 内核调试

1.编译内核

https://www.cnblogs.com/luohaixian/p/9313863.html

http://www.kgdb.info/enable_kgdb_option/

2.配置串口,grub

https://www.jianshu.com/p/c384b719d6dc

https://tunnelshade.in/blog/2019/05/linux-kernel-gdb-setup/

# Add this to default parameters in /etc/default/grub

console=ttyS0,115200 kgdboc=ttyS0,115200 nokaslr

$ grub2-mkconfig -o /boot/grub2/grub.cfg

3.调试

https://www.codercto.com/a/67786.html

获取各段地址脚本:

#!/bin/bash
#
# usage: gdbline.sh module_name module_path
#
# This script will outputs an add-symbol-file line suitable for pasting into gdb to examine
# a loaded module.
#
cd /sys/module/$1/sections
echo -n add-symbol-file $2 `/bin/cat .text`
for section in .[a-z]* *; do
	if [ $section != ".text" ]; then
echo " \\"
echo -n " -s" $section `/bin/cat $section` 
	fi
done
echo

获取内核模块各段地址:

gdbline.sh module_name module_path

 

目标:

echo g > /proc/sysrq-trigger

调试机:

gdb ./vmlinux
target remote /dev/ttyS1

add-symbol-file xxxx xxx

下断点:

b可能不行,使用hb

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值