预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Tornado调试工具介绍 网络上海软件开发二部 crossWind(tornadodebugger) 重要的设置步骤: 1、配置tools->targetserver->config a、在targetname/ipaddress中输入目标板子的ip地址。 b、在backend处选上wdprpc,如果网络不好,可以在timeout中输入2s c、在corefileandsymbols的文件中选上需要调试的vxWorks或vxWorks.st d、memorycacheSize设置为10000。 e、这样就可以启动这个targetserver了 2、Debug->Sourcesearchpath中加上你要调试的原代码的路径。 典型故障: 1、PING目标机也通,想调试程序,但targetserver启不来,现象如下: Connectingtotargetagent... Error:rpccorebackendclientUnabletoreceivefailed. 解决:检查targetserver的配置,其中Corefile应选为下载的vxworskimage。假设targetserver的配置是正确的,那么就检查Tornado中对vxworks的配置,选择wdbconnection为end方式。 2、启动targetserver后,出现 Warning:Targetchecksum:0xa7fc(computedfrom0x108340to0x2170d0). Hostchecksum:0xa8fd(computedfrom0x1830380to0x193f110). Warning:Corefilechecksumsdonotmatch. 解决:下载的VxWorks核和targetserver路径下的文件不是同一个文件,有可能是因为重新编译了VxWorks(即使不修改任何内容,两次编译的结果仍然会不同)。 3、启动targetserver后,出现 Warning:Targetservercacheforagentmemoryisfull. Usethe'-m'optiontoincreasethetargetservercache. 解决:targetServer的Memorycachesize默认为1M,适当加大。 常用功能: breakPoint:设置断点,当任务执行到本断点后会stop,前提是我们设置了autoattachtotask,在没有设置此选项的情况下,必须手工attach到某一任务。有全局断点和任务断点 Step:单步功能,跟其他调试环境类似。 Watch:设置watch变量。 Variable:变量查看,主要是当前被调试的函数的局部变量和全局变量。 注意:WatchVariable和显示的变量值可能会不对,最好去和内存中去确认,或者看寄存器或者打印。(arm) Registers:查看寄存器当前值。 Memory:查看内存值。 Backtrace:栈回溯,通过栈回溯,可以看到函数的调用关系,针对每一个栈帧,可以查看调用时各个函数的执行环境,包括参数、寄存器等。 Attach:attach到某一运行任务,attach之后,整个任务便在调试器的控制之下。 Run:创建一个任务,并执行,调试器会自动attach到这个任务。 Diassemble:反汇编能力,可以和c语言同时对应显示 常见问题: 1、如果在taskSpawn的时候选项中设置了VX_UNBREAKABLE,那么就不能设置断点调试。 使用taskOptionsSet(inttid,intmask,intnewOptions)修改任务选项。例如在TargetShell上去掉tShell的不允许设置断点的选项:taskOptionsSet(0,2,0);这样就不需要重新制作版本了。 2、如果打开了优化开关,O2那么无法单步调试,代码和汇编对不上。 3、编译时没有使用-g编译开关。会无法设置断点。 4、断点位置不准确,和代码对不上,可能是由于链接的不是该原代码文件,或者代码和targetserver的版本有差异 browser 1、察看stack信息 可以察看当前stack使用量和最大stack的使用量,当任务堆栈的使用率较高时需要特别注意(相应加大任务堆栈或优化代码减少堆栈使用量)。 注意: 如果在taskSpawn的时候选项中设置了VX_NO_STACK_FILL,那么就无法察看相应任务的stack使用量了。 在shell中用checkStack也可以察看各任务stack的使用情况。 2、察看cpu占有率Spy 当感觉系统运行很慢时,可以用spy察看哪些任务占cpu太多时间了。 可以使用SPY分析各任务的CPU占有率情况,特别关注CP