mtk平台软件调试方法与技巧.pdf

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
mtk 模拟器调试 前篇文章介绍了手机调试的 TRACE 技巧,MTK 手机调试是比较简单的,除了打 TRACE,找 ASSERT,分析 DUMP 外,剩下的就是经验了,有经验的人看到现象就能猜到问题出在什么地方 , 简单看一 TRACE 只是为了确认自己的猜测 .初涉此道的朋友往往需要时间,慢慢积累经验 . 要达到熟练,就需要有空的时候多读多研究代码 .熟练的掌握了代码,解决问题就会熟能生巧 . MTK 的模拟器调试说没技巧也是对的,说有技巧也不错 .因为模拟器的技术与其说是 MTK 经 验 ,不如说是 VC 经验 . 由于模拟器能在没有样机的情况做大量的 UI 方面的开发 ,同时模拟器具有快捷,所见即所改等 优点,因此,受到很多开发老手的青睐 .熟练掌握模拟器使用技巧,对于提高工作效率,节省资源 具有很积极的意义 . 工欲善其事,必先利其器 .欲了解模拟器调试,就要先了解 VC 使用 .VC调试过程中经常使用的 快捷键如 : vc++断点的使用:按 F9 (设置断点),F5 调试,F10 单步调试,shift+F5 退出调试 F10 单语句执行,F11 单指令执行,Ctrl+F10 执行至光标处;F9 按行设置/取消断点, Alt+F9 可按行,按数据或按消息设置断点;调试时,按 Alt+3 打开跟踪窗口,Alt+4 打开变量窗 口,Alt+5 打开寄存器窗口,Alt+6 打开内存窗口,Alt+7 打开堆栈窗口,Alt+8 打开汇 编指令窗口; 1. 只要你有源代码 ,拥有一个模拟器是一件很容易的事 .当然,有些情况 ,这对于初入 MTK 的人来说,也是困难的,特别是在一些代码管理不善 ,公司人员众多 ,员工流动频繁的公 司,你永远想象不出他们的代码会有多糟 .不过一般情况 ,我到一个新公司,都会试着去 使用他们的代码编译得到模拟器 ,不管他们的代码多么糟 ,我总能快速的编出模拟器来 . 只要三个步骤 : a. 在编译模拟器前请关掉所有 SP 的宏,这是很重要的 ,很多 SP 都不提供在模拟器下运行的 库 ,所以一个项目 SP 越多,在模拟器 ,他无法识别的函数也会越多 b. 在编译过程中遇到错误 ,可以把所有与显示无关的代码全部使用#ifdef WIN32 宏括起 来 ,把所有不认识的类型使用 typedef int xxx;重定义 .把一些不能识别的宏定义使 用 WIN32 括起来重定义一 c. 在生成 MODIS 时,会遇到大量不认识的函数,如果少于 50 个 ,全部建成 void xxx(){} 类型的空函数 .如果多于一百个,尝试查找这些函数的来源,如果是相关 SP 的,就再次补 充关掉相关 SP.当然如果你不怕麻烦,也可以把这一百个函数建成空函数 .一般来说,把 所有第三方功能和与 MTK 无关的功能关掉的话 ,不能识别的函数一般不会超过十个 . 经过这样三步 ,一般情况下你都能得一个差不多可以使用的模拟器 .有了模拟器 ,你就可以进行 下面的工作了 .如果你仍然无法获得模拟器,建议咨询你的项目领导 ,如果你的领导也无法解 决,说明这个软件组是一个组员变动很快,或者说缺乏条理性的部门,当然也有可能这个部门的 程序员都是一些 MTK 的顶尖层高手,他们的程序从来不需要调试 .总之这是会让人疯狂的部 门 . 2.如果你顺利到到一个模拟器,那么就可以开始调试了 .首先说一下断点,VC 中的断点分三大 类,一类是本地断点,一类是数据断点 (也称之为条件断点,有人称之为高级断点 ),还是一类是 消息断点 ;这三类断点分别对应于快捷键ALT+F9打开的对话框中三个选项卡 .由于消息断点 是用于跟踪 WIN 的消息,所以在 MTK 中用不着 .在模拟器中一般我们只使用本地断点与数据断 点 .本地断点和数据断点在 BUG 调试中举足轻重,熠熠生辉。熟练掌握断点技巧,可以使工作 事倍功半。可能有些人会使用断点,但却不知道断点在模拟器中有什么妙用 .断点有两个最常 使用也的作用 ,一是跟踪代码执行情况,二是观察断点处局部变量值的变化 .这两个功能应用最 多 .但他在 MTK 模拟器中还有两个隐含的用途,一就是快速定位文件,MTK 本身的源代码大约 有差不多上万个文件 ,而加入 SP 后,代码大约已经超过了万数 .在这里面查找文章 ,查找函数 , 是一件很困难的事 ,这时就需要使用断点了 .你在代码阅读工

您可能关注的文档

文档评论(0)

聚好信息咨询 + 关注
官方认证
服务提供商

本公司能够提供如下服务:办公文档整理、试卷、文档转换。

认证主体鹤壁市淇滨区聚好信息咨询服务部
IP属地河南
统一社会信用代码/组织机构代码
92410611MA40H8BL0Q

1亿VIP精品文档

相关文档