- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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.在编译过程中遇到错误,可以把所有与显示无关的代码全部使用#ifdefWIN32宏括起来,把所
有不认识的类型使用typedefintxxx;重定义.把一些不能识别的宏定义使用WIN32括起来重
定义一下
c.在生成MODIS时,会遇到大量不认识的函数,如果少于50个,全部建成voidxxx(){}类型的空
函数.如果多于一百个,尝试查找这些函数的来源,如果是相关SP的,就再次补充关掉相关SP.当
然如果你不怕麻烦,也可以把这一百个函数建成空函数.一般来说,把所有第三方功能和与MTK
无关的功能关掉的话,不能识别的函数一般不会超过十个.
经过这样三步,一般情况下你都能得一个差不多可以使用的模拟器.有了模拟器,你就可以进行
下面的工作了.如果你仍然无法获得模拟器,建议咨询你的项目领导,如果你的领导也无法解决,
说明这个软件组是一个组员变动很快,或者说缺乏条理性的部门,当然也有可能这个部门的程序
员都是一些MTK的顶尖层高手,他们的程序从来不需要调试.总之这是会让人疯狂的部门.
2.如果你顺利到到一个模拟器,那么就可以开始调试了.首先说一下断点,VC中的断点分三大类,
一类是本地断点,一类是数据断点(也称之为条件断点,有人称之为高级断点),还是一类是消息
断点;这三类断点分别对应于快捷键"ALT+F9"打开的对话框中三个选项卡.由于消息断点是用于
跟踪WIN的消息,所以在MTK中用不着.在模拟器中一般我们只使用本地断点与数据断点.本地断
点和数据断点在BUG调试中举足轻重,熠熠生辉。熟练掌握断点技巧,可以使工作事倍功半。可
能有些人会使用断点,但却不知道断点在模拟器中有什么妙用.断点有两个最常使用也的作用,
一是跟踪代码执行情况,二是观察断点处局部变量值的变化.这两个功能应用最多.但他在MTK
模拟器中还有两个隐含的用途,一就是快速定位文件,MTK本身的源代码大约有差不多上万个文
件,而加入SP后,代码大约已经超过了万数.在这里面查找文章,查找函数,是一件很困难的事,
这时就需要使用断点了.你在代码阅读工具SI中可以很轻松的利用"CTRL+O"打开文件,也可以
使用"F7"快速定位到函数,但在VC中却没这么方便,不过你可以使用断点,比如想在VC中打开某
个文件wgui_categories_CM.c,只要VC中使用"ALT+F9",在breakat编辑框里输入
{,E:\JMT_1120\plutommi\mmi\GUI\GUI_SRC\wgui_categories_CM.c,}.4693,按F5执行DEBUG
后VC就能自己定位到这个文件wgui_categories_CM.c的4693行
您可能关注的文档
- macOS使用手册二(AppleID和iCloud、连接、观看和阅读、订阅服务、隐私和安全性、辅助功能、配件和硬件).pdf
- mem系列函数实现.docx
- MTK socket编程的一些经验.docx
- MTK优美代码赏析8可变参数的C函数.docx
- MTK中的nvram的操作实现.docx
- MTK资源编译加载时找不到模块的头文件.docx
- MTV-拍摄计划及脚本.docx
- N-N-二异丙基乙胺安全技术说明.docx
- PMP第六版5大过程组49个过程.docx
- 1.3 创造力的要素和开发提高创造力 教学设计-2023-2024学年高中通用技术粤科版(2019)选择性必修9创造力开发与技术发明.docx
- 1.2 创新是技术发展的核心 教学设计-2023-2024学年高中通用技术粤科版(2019)选择性必修9 创造力开发与技术发明.docx
- 4.2 做一名优秀的创业者 教学设计-2023-2024学年高中通用技术粤科版(2019)选择性必修8:技术与职业探索.docx
- 2.1 职业的核心技能 教学设计-2023-2024学年高中通用技术粤科版(2019)选择性必修8:技术与职业探索.docx
- 2.2 认识职业素养 教学设计-2023-2024学年高中通用技术粤科版(2019)选择性必修8:技术与职业探索.docx
- 3.1 认识职业与认识自我 教学设计-2023-2024学年高中通用技术粤科版(2019)选择性必修8:技术与职业探索.docx
- 3.1 常用工具与创新工具 教学设计-2023-2024学年高中通用技术粤科版(2019)选择性必修9创造力开发与技术发明.docx
- macOS使用手册二(AppleID和iCloud、连接、观看和阅读、订阅服务、隐私和安全性、辅助功能、配件和硬件).pdf
- 安全管理制度与安全技术的结合与创新.pptx
- 财务管理制度与市场竞争的一体化.pptx
- 城市工程质量验收的工程质量与组织管理.pptx
文档评论(0)