书签 分享 收藏 举报 版权申诉 / 24
上传文档赚钱

类型tornado调试技巧课件-.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4169240
  • 上传时间:2022-11-16
  • 格式:PPT
  • 页数:24
  • 大小:223.96KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《tornado调试技巧课件-.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    tornado 调试 技巧 课件
    资源描述:

    1、提提 纲纲 crossWind调试器调试器 重要步骤:重要步骤:1、配置、配置tools-target server-config a、在、在target name/ip address中输入目标板子的中输入目标板子的ip地址。地址。b、在、在back end 处选上处选上wdprpc,如果网络不好,如果网络不好,可以在可以在timeout中输入中输入2s c、在、在core file and symbols的文件中选上需要的文件中选上需要调试的调试的vxWorks或或vxWorks.st d、memory cache Size 设置为设置为10000。e、这样就可以启动这个、这样就可以启动这

    2、个target server了了crossWind调试器调试器重要步骤重要步骤2、Debug-Source search path 中加上你要调试中加上你要调试的原代码的路径。的原代码的路径。crossWind调试器常用功能调试器常用功能 breakPointbreakPoint:设置断点,当任务执行到本断点后会:设置断点,当任务执行到本断点后会stopstop,前提是我们设置了,前提是我们设置了 auto attach to task auto attach to task,在,在没有设置此选项的情况下,必须手工没有设置此选项的情况下,必须手工attach attach 到某一任到某一任务。

    3、务。有全局断点和任务断点有全局断点和任务断点 Step:Step:单步功能,跟其他调试环境类似。单步功能,跟其他调试环境类似。WatchWatch:设置设置watch watch 变量。变量。VariableVariable:变量查看,主要是当前被调试的函数的局:变量查看,主要是当前被调试的函数的局部变量和全局变量。部变量和全局变量。注意:注意:Watch Variable Watch Variable和显示的变量值可能会不对,和显示的变量值可能会不对,最好去和内存中去确认,或者看寄存器或者打印。最好去和内存中去确认,或者看寄存器或者打印。(armarm)Registers:Registers

    4、:查看寄存器当前值。查看寄存器当前值。MemoryMemory:查看内存值。:查看内存值。crossWind调试器常用功能调试器常用功能Back trace:栈回溯,通过栈回溯,可以看到栈回溯,通过栈回溯,可以看到函数的调用关系,针对每一个栈帧,可以查看函数的调用关系,针对每一个栈帧,可以查看调用时各个函数的执行环境,包括参数、寄存调用时各个函数的执行环境,包括参数、寄存器等。器等。Attach:attach到某一运行任务,到某一运行任务,attach之后,之后,整个任务便在调试器的控制之下。整个任务便在调试器的控制之下。Run:创建一个任务,并执行,调试器会自创建一个任务,并执行,调试器会自

    5、动动attach到这个任务。到这个任务。Diassemble:反汇编能力,可以和反汇编能力,可以和c语言同时语言同时对应显示对应显示 crossWind调试器调试器常见问题:常见问题:1、如果在如果在taskSpawn的时候选项中设置了的时候选项中设置了 VX_UNBREAKABLE,那么就不能设置断点,那么就不能设置断点调试。调试。2、如果打开了优化开关,、如果打开了优化开关,O2那么无法单步调那么无法单步调试,代码和汇编对不上。试,代码和汇编对不上。3、编译时没有使用编译时没有使用g编译开关。编译开关。会无法设会无法设置断点置断点 4、断点位置不准确、断点位置不准确,和代码对不上,可能是,

    6、和代码对不上,可能是由于链接的不是该原代码文件,或者代码和由于链接的不是该原代码文件,或者代码和target server的版本有差异的版本有差异 1、察看、察看stack信息信息可以察看当前可以察看当前stack使用量使用量可以察看最大可以察看最大stack的使用量的使用量 注意:注意:如果在如果在taskSpawn的时候选项中设置了的时候选项中设置了 VX_NO_STACK_FILL,那么就无法察看,那么就无法察看stack的使用量。的使用量。在在shell中用中用checkStack也可以察看也可以察看stack的使用的使用BrowserspySpy :察看察看cpu占有率。占有率。当感

    7、觉系统运行很慢时,可以用当感觉系统运行很慢时,可以用spy察看哪些任察看哪些任务占务占cpu太多时间了。太多时间了。注:注:有的有的tornado显示用不了显示用不了spy,那么可能要把,那么可能要把spyLib.o 这个文件这个文件copy到到lib/objppc603gnuvx目录下。目录下。Browser其它其它任务信息任务信息 i,ti内存信息内存信息 memShowModule 信息信息 Windsh任务信息任务信息 i 所有任务的名字,入口函数,所有任务的名字,入口函数,tid,优先权,当前,优先权,当前pc,sp,错误号等,错误号等 注意:如果显示中任务名为空,则很有可能发生了越

    8、注意:如果显示中任务名为空,则很有可能发生了越栈现象。栈现象。tid就是就是tcb块开始的地址,可以通过这个地址块开始的地址,可以通过这个地址察看和修改里面的内容察看和修改里面的内容 ti (参数为任务名或(参数为任务名或tid)显示任务显示任务tcb块的完整信息。通常关注信息是:块的完整信息。通常关注信息是:堆栈的信息(栈头,栈尾,最大使用栈的大小)堆栈的信息(栈头,栈尾,最大使用栈的大小)寄存器(寄存器(sp(ppc里的里的r1)的值,)的值,pc的值,函数参数的值,函数参数值(值(ppc的的r3,r4,r5),),fp(如(如ppc的的r31)Windsh任务信息任务信息sp 函数名,参

    9、数值函数名,参数值 发起一个新的任务,任务名为发起一个新的任务,任务名为t1,t2.ts 挂起一个任务,挂起一个任务,tr 让任务继续运行让任务继续运行td 删除一个任务删除一个任务Windsh任务信息任务信息tt显示一个任务的栈的函数回溯信息(还包含了调用的函数的参数)显示一个任务的栈的函数回溯信息(还包含了调用的函数的参数)tt logTask 3ab92 _vxTaskEntry+10:_logTask(0,0,0,0,0,0,0,0,0,0)ee6e _logTask+12:_read(5,3f8a10,20)d460 _read+10:_iosRead(5,3f8a10,20)e23

    10、4 _iosRead+9c:_pipeRead(3fce1c,3f8a10,20)23978 _pipeRead+24:_semTake(3f8b78)注:有时堆栈被破坏,注:有时堆栈被破坏,tt无法显示,可以选择修改无法显示,可以选择修改sp的值,让它退到可以回的值,让它退到可以回溯的栈的位置。溯的栈的位置。mRegs修改寄存器。或直接修改内存的修改寄存器。或直接修改内存的tcb块块tw 可以显示指定任务是挂起在那个信号量上。可以显示指定任务是挂起在那个信号量上。注意:只能在注意:只能在tornado的的shell中使用,在中使用,在tShell中不能使用。中不能使用。Windsh内存相关内

    11、存相关d,地址,显示的单元数,宽度(地址,显示的单元数,宽度(1,2,4,8)显示内存显示内存m 地址,宽度地址,宽度 修改内存修改内存MemShow 1 显示内存的使用信息,如后参数显示内存的使用信息,如后参数1则显示详细则显示详细的的free memory信息信息memShowmemShow 1 FREE LIST:num addr size-1 0 x3fee18 16 2 0 x3b1434 203 0 x4d188 2909400 SUMMARY:status bytes blocks avg block max block-Currentfree 2909436 3 969812

    12、2909400 alloc 969060 16102 60 Cumulative alloc 1143340 16365 69-如果内存链表给破坏了,可以通过和正常的如果内存链表给破坏了,可以通过和正常的free list比比较推断破坏在哪个地方。较推断破坏在哪个地方。Windsh和代码相关和代码相关 l 反汇编,由于反汇编,由于static的函数名没有包含进符号表,所以的函数名没有包含进符号表,所以不能完全看出代码是哪个具体的函数,不能完全看出代码是哪个具体的函数,要想准确知道,可以在要想准确知道,可以在tornado 的的debug中用反汇编或中用反汇编或者用者用objdumpppc d

    13、lkAddr 察看该地址离哪些符号(函数名,全局变量名)比较近。察看该地址离哪些符号(函数名,全局变量名)比较近。lkup 察看变量的地址察看变量的地址注:注:符号表是通过符号表是通过symTbl.c链接进来的,只包含了全局链接进来的,只包含了全局信息。信息。Windsh和调试相关和调试相关b 设置和显示断点设置和显示断点 b就是显示断点,就是显示断点,b 地址设置断点地址设置断点bd 删除断点删除断点 bd 地址地址bdall 删除所有断点删除所有断点bh 设置硬件断点设置硬件断点 如:如:PPC860就可以,就可以,PPC604就可以设置读写就可以设置读写内存的断点。内存的断点。Windsh其它其它devs 显示系统所有设备显示系统所有设备 可以找出对应的串口号。可以找出对应的串口号。semShow 显示信号量的信息显示信号量的信息 windView 察看和分析任务执行信息的图型工具。察看和分析任务执行信息的图型工具。不常用不常用谢 谢

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:tornado调试技巧课件-.ppt
    链接地址:https://www.163wenku.com/p-4169240.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库