比纯调试器功能.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
比纯调试器功能 真正源代码级调试器 比纯调试器支持编程语言 WIN: VC6 至 VC2013 , Java, Qt , Driver WIN: C# (2005至2013 ) WIN: android Java , Android C | C++ LINUX: gcc|g++ , Java ,Qt , Driver LINUX: android Java , Android C |C++ BSD UNIX: gcc|g++, Qt Embed Linux: gcc|g++, Qt , Java , Driver Android 设置工程 BTR设置的原则是没有设置,直接编译 gcc, vc,android , c#,qt,driver工程无设置 调用apache ant编译有设置 Java个别情形下有设置,一般无设置 PV函数跟踪有设置 设置保存在您工程目录的bdebug.ini中 编译工程 比纯调试器需插入调试引擎 比纯调试器用build命令编译工程 用build命令前须保证代码无语法错误 用build命令产生的调试大包可移植 build是调试工程的第一命令 支持java ant 编译 同时顺序编译多个工程 bd.exe build prj_path 可放入shell文件中编译 比纯调试器主要调试手段 崩溃现场(60000行现场源代码) 进程日志,设置过滤表 变量值跟踪,变量映像,变量日志 资源PV操作跟踪 函数调用序列 断点,单步跟踪 耗时分析 使用运行日志 lon 打开运行日志,loff关闭运行日志 clog –s file –m 50000 保存运行日志 clog a.cpp –s file 只保存a.cpp日志 clog a.cpp : 692 –s a.txt保存692行处函数日志 clog –e a.cpp –s file 保存除a.cpp外的日志 clog a*.cpp –s file保存a*.cpp类源码日志 出于性能考虑,不使用时关闭运行日志 fadd 事先加入过滤,更快查出BUG 设置过滤表 fadd加入过滤, fadd a.java只查看a.java 过滤可以只查看某文件,某函数,某个串 fadd –e滤掉不必看的次要代码. 过滤可以影响flash 命令和clog命令 过滤可以极大减小clog日志文件 推荐flash和clog使用前用fadd设置过滤 分析进程日志 进程运行异常,但不崩溃,用进程日志 找出逻辑BUG时,用进程日志 先预估BUG发生的源文件,再过滤细查 从最后往前查日志,看逻辑分支转向异常 从最后往前查日志,看输出错误信息 可先看进程现场,不行再利用运行日志 断点中断后,利用运行日志分析BUG 进程暂停与继续 F2进程暂停,可输入手动命令 F3进程暂停继续,手动命令失效 引入F2,F3原因是调试性能的保证 断点,单步后,进程自动暂停 发现野指针,发现非法资源句柄,进程自动暂停 发现关键指针释放时,进程自动暂停 比纯调试器组成 进程崩溃死机调试 任意时刻可查看最新60000行崩溃现场 flash –s a.txt输出到文本进行分析 最后一行源代码就是崩溃位置 阅读崩溃现场分析崩溃原因 运用过滤分析崩溃原因 周期代码出现则可确定进程无限循环 rfunc命令是发现多线程崩溃行利器 函数时序 函数时序认识构架 函数时序判断走向 函数时序分析调用 过滤函数时序 func –s file 输出时序 函数时序用于移植 函数时序学习良代码 函数时序验证逻辑 rfunc输出正运行函数 断点 bd bins x.cpp : 3721 加入一个断点 当进程运行到断点时暂停 在断点时可flash或clog观察运行现场 在断点时可观察函数调用时序 在断点时还可观察变量值变化过程 在断点时进行(堆|栈)全变量和对象映射 单步跟踪 F7热键单步跟踪 F8热键则下一单步在一函数体内 F9热键则下一单步跳出当前函数体内 单步用于非常仔细地观察运行逻辑 单步进程暂停后,可用BTR各手动命令 无限循环 当进程长时间无响应时按F2强行暂停 用flash –s file 可以看60000行的运行现场 始终有周期性代码出现则判断无限循环 过滤一些干扰代码后易发现周期性代码 分析循环变量可以知无限循环原因 无限递归 无限递归是更复杂的无限周期代码 无限递归极大耗用stack内存终会崩溃 无限递归需用clog –s file发现无限递归 用bwatch API 和 vlog分析无限递归原因 关键指针 kadd x.xpp : 433 命令加入关键指针 x.xpp : 433语句行产生的指针叫关键指针 关键指针释放时,会触发进程暂停 F2暂停, 观察关键指针产生释放过程

文档评论(0)

136****3783 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档