在这里提供一个原始的shell:
#!/bin/bash
nm module_name.ko | c++filt | grep -w -i T | awk '{print $3}' | sed 's/,/\\|/g'|sort|uniq|grep ^function.* |awk '{print "b " $1}' >/tmp/__make_break_point__
解释:
这里有两步是按照自己需求修改
module_name.ko:这是需要下断点的模块,这里也可以换成.o文件
function.* :选择所有function开头的函数,这样是为了避免一些内核函数,如kmalloc之类的被下了断点
按照上面的命令,就会在/tmp/__make_break_point里生成一个gdb中可以直接使用的脚本
直接在gdb界面中:
srouce /tmp/__make_break_point__
本文介绍如何使用特定的Shell命令在GDB中生成一个用于下断点的脚本,适用于内核开发人员进行调试。通过模块名称和函数选择,可以精确控制调试范围,提高开发效率。
3826

被折叠的 条评论
为什么被折叠?



