用trace32调试android kernel[msm7627为例]

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

  

你可能感兴趣的:(Android)