在android环境下使用gdb调试vmlinux
具体为:./prebuilts/gdb/linux-x86/bin/gdb +vmlinux文件。注:这条指令基于android 11环境。
·
debug方法
在android 目录下执行:
./prebuilts/gdb/linux-x86/bin/gdb kernel/./ship_prebuilt/primary_kernel/vmlinux
具体为:./prebuilts/gdb/linux-x86/bin/gdb +vmlinux文件
注:这条指令基于android 11环境
查看crash时backtrace对应的源码
执行:list *(function+offset),例如:
Reading symbols from kernel/./ship_prebuilt/primary_kernel/vmlinux...
(gdb) list *(do_basic_setup+0x30)
0xffffffc011fd315c is in do_basic_setup (/home/workspace/lagvm/LINUX/android/kernel/msm-5.4/init/main.c:1025).
1020
1021 static void __init do_initcalls(void)
1022 {
1023 int level;
1024
1025 for (level = 0; level < ARRAY_SIZE(initcall_levels) - 1; level++)
1026 do_initcall_level(level);
1027 }
1028
1029 /*
(gdb)
更多推荐
已为社区贡献4条内容
所有评论(0)