- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MTKtrace信息说明
MTK trace工具使用补充说明 本文档主要介绍如果查看trace信息,以帮助在手机上的调试,trace_demo文件夹中的例子代码可以参照。 (下面截图不清楚的话请见附件的图片。依次是图1,图2,图3) 一、平台自己打印的一些信息: 1.1、当前编译该mrp文件的SDK版本号 该trace信息显示的是当前编译该mrp文件的SDK版本号。 1.2、内存消耗: 该trace信息显示的是当前的内存消耗量,由于加载图片或申请内存的时间不同,内存消耗量也是实时变化的,trace信息显示的是当前的内存消耗量,该信息可以查看应用是否有内存泄露等问题。 例子代码中刚进入是没有加载图片的,再选择开始后,加载图片并且显示图片,所以这两个时候的内存消耗是不同的。 1、下图是没有加载图片时候的内存消耗: 2、下图是加载图片后的内存消耗: Trace信息说明: VM_LOG:mem top =325232,left =426288,never use =411800 (单位是B) mem top是栈顶内存的峰值,left 是当前剩下的内存,never use是还未使用的内存。这里mem top并不是该游戏消耗的内存峰值,它只是手机栈顶的峰值,所以当前游戏消耗的内存峰值是手机内存减去never use,就是游戏在当前的内存峰值。简单描述如下: 游戏消耗内存峰值 = 手机内存 — never use; Left表示当前剩余内存,它包括游戏中自己释放的内存和never use。 1.3其他打印消息 其他打印消息包括手机IMEI号、IMSI号等其他一些信息。 二、自己调试时候打印信息 该类信息能帮助我们在手机上调试应用,并能尽快定位问题。 例子代码中有这类信息,就是用mrc_printf();打印出来的信息,例如在trace_KeyEvent函数中,我打印了mrc_printf(g_main_menu_focus = %d, g_main_menu_focus);在你按键响应后就能打印出g_main_menu_focus的确定值。还有其他一些打印调试的地方请见例子代码。 一些常见的trace方法: 2.1、定位在何处出问题 游戏在手机上运行时候,有时候死机问题难以定位具体位置,这时候可以抓trace确认,也就是以前的打LOG方法,只是抓trace比LOG方法方便直观得多。 例如: int32 function(void) { Mrc_printf(“Function is start”) Function1(); Mrc_printf(“Function1 is end”); Function2(); Mrc_printf(“Function1 is end”); Function3(); Mrc_printf(“Function1 is end”); Function4(); Mrc_printf(“Function1 is end”); } 这时候只要查看trace信息,哪个没有打出来就能大致知道是哪个函数执行有问题,这样多次打trace就能确认问题所在。 2.2、注意事项 1、这里需要注意的是, 没打出LOG的地方不一定就是这个函数执行有问题,因为mrc_printf()相对比起来优先级较低,有可能缓冲区中的trace还没完全打完,游戏就已经死机了,所以在怀疑死机的地方直接return,在一步步进去打trace以确定问题。 2、如果画面刷新是定时器刷新时,则定时器时间设的太短会导致LOG可能打不出来,建议打LOG调试的时候定时器时间开大一点,建议开100ms以上,以便能打出LOG。或者在定时器循环函数中把定时器调用放在后面,其他处理函数放在前面。这个在例子代码中定时器循环菜单中有相关代码,主要是在drawBmp1()函数中,如果定时器时间设为50,则手机上不能打出那句trace,如果时间设为100,则能正常打出;或者把mrc_timerStart的调用放在该函数尾部,也能正常打出LOG。 3、打印字符串不能过长,如果调试时打印的字符串过长,可能打不出来。 4、具体可看例子代码,上面有相关注释。 2.3、查看游戏里面各个数据是否正确 直接打trace,查看游戏各个数据。 三、结言 抓trace能够帮助我们在手机上调试应用程序,trace有很多,该文档只介绍了几种常用的,他不一一叙述。具体可参考例子代码中一些打trace的地方。
您可能关注的文档
最近下载
- 层析包括吸附层析分配层析离子交换层析亲和层析等 (2).pptx VIP
- 2019主持人大赛总决赛第三轮巅峰对决王嘉宁VS邹韵演讲稿.doc VIP
- 《房屋建筑学》第6章 建筑构造概论.ppt VIP
- 2025年河北省涿州三中学初三九月月考物理试题含解析.doc VIP
- 超星尔雅学习通《通识写作怎样进行学术表达(复旦大学)》章节测试答案.docx VIP
- C++龟兔赛跑代码.docx VIP
- 人教新版英语九年级Unit1-4试卷.doc VIP
- C++书写日历代码.docx VIP
- 食品仓储安全保障措施.docx VIP
- 辽宁省抚顺市新抚区2024-2025学年八年级上学期10月月考语文试题.docx VIP
文档评论(0)