内核开发,kernel panic是再常见不过的了,根据异常栈通常即可定位出代码出错的大概位置,但是有些时候我们还是会需要使用反汇编工具来帮助我们定位一些异常,objdump.
该反汇编工具存在于prebuilts/gcc/linux-x86/arm/gcc-linaro-aarch64-linux-gnu/bin/文件夹下,可参考如下使用方法:
1) prebuilts/gcc/linux-x86/arm/gcc-linaro-aarch64-linux-gnu/bin/aarch64-linux-android-objdump vmlinux > 1.txt可把内核镜像反汇编,可以根据oops打印出的PC搜索在哪里出错了;
该文件夹下还有一个工具可以根据地址指出在哪个文件的哪一行出错,使用方法如下:
2) prebuilts/gcc/linux-x86/arm/gcc-linaro-aarch64-linux-gnu/bin/aarch64-linux-android-addr2line -a 要查询的地址 -e vmlinux
原文地址:http://blog.csdn.net/lixiaojie1012/article/details/38880461