加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 教程 > 正文

调试Android的kernel和上层的小方法

发布时间:2021-11-25 18:27:21 所属栏目:教程 来源:互联网
导读:对于Android的kernel 代码的调试 一开始我总是用用printk来打印信息,当我调试好代码以后,发现打印的信息由太多,况且有不成需要了,这样我要不用这些打印信息就得一个一个的隐去做起来好麻烦的,呵呵,我们研发时间是很宝贵的啊,用在这些里面这是不值得啊

对于Android的kernel 代码的调试 一开始我总是用用printk来打印信息,当我调试好代码以后,发现打印的信息由太多,况且有不成需要了,这样我要不用这些打印信息就得一个一个的隐去做起来好麻烦的,呵呵,我们研发时间是很宝贵的啊,用在这些里面这是不值得啊,于是我就想了一个方法,想想我只要用 一个定义就可以搞定,贴代码:
 
#if 1//
#define pr_debug(x...) printk("[Soc-core.c::]:: "x)
#define ur_debug(x...) printk(x)
//pr_debug("..entering %sn", __func__);
#else
#define pr_debug(x...)  do {} while(0)
#define ur_debug(x...) do {} while(0)
#endif
 
如果我想打印信息就用pr_debug("yuyu'n);打印yuyu,嘿嘿
 
当我不需要的时候,我就把上面的#if 0 就可以达到吧我添加的打印信息给屏蔽掉了
 
嘿嘿 方便吧:
 
下面讲讲我调试android的hal层和应用架构层 以及简单的应用的打印的小技巧
 
android把全部标准输入输出都重定向了。只有他自己的LOGE, LOGV, LOGI才能打印的,但是LOGE是始终打开的,这样也是和我调试内核一样的问题,于是我在调试某个cpp文件只要添加
 
#if 1
#define LOGX LOGE
#endif
于是就可以用自己的LOGX的打印信息了
 
 LOGX(">>WANG WANG WANG WANG WANG WANG WANG >>>>>>>>>>IN_CALL line=%d;", __LINE__);
 
如果我调试完毕不想让打印出来,就是#if 0
 
就可以的了哦
 
嘿嘿,又不影响其他代码的调试,同时又是可以保留自己的调试痕迹,下次调试的时候,打开#if 1
 
呵呵呵,你的调试痕迹就会有在你的眼前哦

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读