之前我讲了怎么用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,如下:

  

更多相关文章

  1. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. GitHub 标星 2.5K+!教你通过玩游戏的方式学习 VIM!
  3. 如何在后台运行Linux命令?
  4. No.11 使用firewall配置的防火墙策略的生效模式
  5. android手把手教你开发launcher(五)——设置壁纸
  6. Android(安卓)APK反编译方法(可以获取APK xml和android Manifest,j
  7. Android(安卓)沉寖状态栏与透明状态栏
  8. Android中Service和Activity相互通信示例代码
  9. Android(安卓)Studio动态调试smali

随机推荐

  1. Android(安卓)Retrofit 2.0框架上传图片,
  2. android发送post请求出现问题
  3. android 连接USB按power键锁屏2声锁屏音
  4. Android(安卓)dialog 去除虚拟按键
  5. Android中文API(142) —— Gravity
  6. 总结android音频视频操作
  7. android intent.setType("type");的含义
  8. linux 配置安装android sdk自动下载缺少
  9. 去除listBView的抖动,判断textView中文本
  10. struts2中获取request、response,与androi