Windows下模拟调试方法.doc_第1页
Windows下模拟调试方法.doc_第2页
Windows下模拟调试方法.doc_第3页
Windows下模拟调试方法.doc_第4页
Windows下模拟调试方法.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Tornado使用入门(PC仿真)创建工程1添加文件4生成目标文件8目标文件生成后,就可以启动仿真器进行程序调试了:10下载.out目标文件到仿真环境中12命令行shell14Debug的使用15配合debug使用的几种调试手段16Tornado II是开发和调试VxWorks系统不可缺少的组成部分,是交叉开发环境运行在主机上的部分,它集成了编辑器、编译器和调试器。开发系统包含三个高度集成的部分:VxWorks:运行在目标机上的高性能实时操作系统。Tornado开发环境:运行在宿主机上,包括一组强有力的交叉开发工具。连接宿主机和目标机的多种通信方式:以太网、串口线、仿真器等。下面先就当前主要使用的PC仿真环境讲解Tornado的入门级使用方法(限于个人水平,所以只能就我所了解的部分进行初步的讲解):PC仿真环境目前我们所使用的基本上都是PC仿真环境,即在PC机Windows上模拟VxWorks操作系统的环境,它允许开发者在没有BSP、操作系统配置和目标机硬件的情况下快速开发。具体步骤如下:创建工程打开Tornado,选择File-New Project,创建一个download工程填入自定义的工程名和目录:由于是仿真环境,所以选择SIMNTgnu创建工程:点击Finish之后创建工程成功。添加文件添加各自模块所需要的.c源文件到工程中(此时是看不到工程头文件的): 添加完所有源文件后,需要建立源文件到头文件的依赖关系,以最终生成目标文件。首先点击Build栏设定工程头文件路径:比如你的头文件路径为:“D:/bakup/vxworks/ngn/include”,则需键入空格键后再输入-ID:/bakup/vxworks/ngn/include,如下图:确定后回到Files栏。生成所有源文件到头文件的依赖关系:生成依赖关系以后就可以在workspace中看到所有的工程头文件了。生成目标文件 Build窗口中会显示build进度以及发现的warning和error,发现error会自动停止,双击错误提示可以直接跳到该处: 解决所有error编译成功后提示如下: 目标文件生成后,就可以启动仿真器进行程序调试了:点击工具栏上的Vx图标确定后会出现仿真窗口继续OK启动仿真器。下载.out目标文件到仿真环境中 如果工程中有的文件使用了没有定义的函数等就会出现以下提示: 正常情况下download成功不会出现任何提示窗口。程序的调试主要是shell和debug.命令行shell点击图标:就可以启动Wind Shell了:理论上这里可以直接使用命令行的方式调用工程中几乎所有的函数,但是并不提倡大家这么作,因为一般来说你的函数中可能都会传递各种各样的参数,比如指针等,这时如果通过命令行来传递指针显然不是聪明人的做法。那么聪明人的做法是怎么样的呢?建议自己写一个测试函数,比如我自己测试消息处理的函数就命名为_ULONG32 msgtest(_VOID),然后将自己要测试的整个流程封装在msgtest这个函数中,那么直接在命令行方式下敲入msgtest就可以实现所有的测试流程。另外,建议在自己封装的测试函数中尽量多的打印一些调试信息,这样会有助于错误的定位。另外,一般来说,在测试自己的程序之前应该先对OS进行初始化,方法很简单,在命令行方式下直接执行root就可以了。程序中通过print打印的信息会出现在shell窗口或者仿真器窗口中。Shell是个功能非常强大的工具,它支持的系统命令可以使用help命令来查看,其中比较常用的有:i:查看当前运行的所有任务及其状态td:删除某个任务ts,tr:阻塞或是唤醒某个任务d:显示内存内容b:设置断点具体的使用方法大家可以自己看help,很简单。Debug的使用Debug无疑是Tornado下面最重要的调试手段,点击图标启动debug,成功后可以点击图标,出现以下窗口在其中填入你想要调试的函数以及传给它的参数,也建议使用上面的封装策略。Break at entry是在函数的入口处设置断点。点击OK等待出现调试窗口后就可以开始进行调试程序了:配合debug使用的几种调试手段breakpoint、step into、step over、step out、continue等与其它开发工具类似,比较简单。另外可以直接在要查看的变量上面点击鼠标右键,选择add to watch到watch窗口中查看变量的内容以及取值的变化,也与VC差不多。点击shell按钮前面的lauch browser按钮进入browser窗口,在这里可以看到当前内存的使用情况、所有的任务以及每个任务堆栈的变化等。browser中还可以看到当前工程的符号表,不过我现在也看不懂:(还有其它一些调试手段,比如c代码和汇编代码混合调试、观察寄存器、观察内存等等可能大家暂时用不到,我就先不讲了,以后有机会可以慢慢摸索,乐趣也就在这里。大家调试程序需要注意的几点:1 各自模块单独调试的时候需要加入OS以及所有与自己有直接联系的模块的代码2 PID的使用。各模块单独调试的时候可以自己手动在os_pid.h中加入自己以及与自己相关的PID,在m_astPidCfgCB数组中按照标准范例填写必要的信息,并且在该数组上面按照标准范例填写这些PID的初始化函数和消息处理函数的原型声明(保

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论