用trace32调试android kernel[msm7627为例]
16lz
2021-01-25
之前我讲了怎么用eclipse调试android的framework代码以及用gdb server调试native代码,但是由于gdb无法调试多线程代码,所以用起来还是很不方便。今天我来讲讲怎么用trace32调试kernel.
首先讲讲硬件连接,必须保证你的trace32是连接到arm11的JTAG口上,其他连接不细说了。
打开trace32的命令窗口,并对cpu设置,如下图所示:
进入设置界面,设置如下:
然后依次输入命令“cd Z:/out/target/product/msm7627_surf/obj/KERNEL_OBJ”, "d.load.elf vmlinux /nocode",如下图所示:
之后打开符号表,查找你要debug的函数,如下图所示:
设置好断点之后,还需要进行如下设置,如图:
接着,点击go,即可进入断点,如下图:
可以看到,已经进入断点,但是一堆的汇编,怎么显示对应的c code呢?用“symbol.sourcepath.setrecursedir z:/kernel”添加路径, 如图:
最后,我们看到了正确的code,如下:
更多相关文章
- 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
- GitHub 标星 2.5K+!教你通过玩游戏的方式学习 VIM!
- 如何在后台运行Linux命令?
- No.11 使用firewall配置的防火墙策略的生效模式
- android手把手教你开发launcher(五)——设置壁纸
- Android(安卓)APK反编译方法(可以获取APK xml和android Manifest,j
- Android(安卓)沉寖状态栏与透明状态栏
- Android中Service和Activity相互通信示例代码
- Android(安卓)Studio动态调试smali