之前我讲了怎么用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技术之使用Handler引发的内存泄露
  2. 命令行方式创建和编译android应用程序
  3. Android学习05-----Android中的基本控件(
  4. Android xxx is not translated in yyy,
  5. Android中 Error generating final archi
  6. Android(安卓)Context 上下文 你必须知道
  7. webView自适应屏幕大小
  8. Android UI开发第二十三篇――分享书架UI
  9. android使用c语言编程
  10. Android 之 四大组件、六大布局、五大存