使用trace32调试跟踪Android lk代码的一点小技巧


在msm 7627平台上遇到一个问题,需要在lk(little kernel)中进行debug,由于这里无法输出调试log信息,并且使用串口输出log的功能也没有实现,故而只能使用trace32跟踪代码流程,在跟踪一些c语言变量的时候,无法查看其在内存中的实际值(只能显示出?),只好跟到汇编级别;然而,c语言在编译时候经过了编译器的优化,汇编的逻辑跳转变得十分没有规律,无法确定其逻辑;这个时候,可以在需要查看的代码的前后加上去除编译优化的语句即可:

#pragma GCC option (push)

#pragma GCC optimize ("O0")

target code...

#progma GCC option (pop)

相关内容