




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、OPNET 14.5打开ODB调试窗口首先点击运行仿真的小人图表。在打开的窗口中如图示,先设置 simulation kernel 为development.Siinul式tm Kernel; DevcLopmmt3 .在左边树状结构中找到 Execution->debugger.iiij Common+ - 工皿u。+ Outputs-Emmti 叮i.QF瓦"世珞群y一 一一i - 二Fro filing: Tr QTibLeshcot+ Adv Sliced+ Rim time B l splaysOFNET DebuggerV OIHET工 m(0口口)j'lD
2、B zcri p t mode: UToite,ODE script name.4 .然后点击Run就可以了看到如下:5 .接下来就可以进行调试。OPNET 14.5 与 VC 联调搞了好些天,头大!书上的内容全是10.0以前版本的设置方法,14.5版本变化太大,已经完全不适用了。现在终于弄明白 opnet 14.5如何和VC联调。其实opnet14.5与VC联调不再需要另外特别的设置,不用再到edit preference中去找这个找那个。只需要设置好opnet和VC的环境变量就好。一般的方法是 ODB初始化以后,打开 VC,在Debug菜单下单击attach to process ,然后
3、选才? op_runsim_dev.exe(或者op_runsim_opt.exe ),这样就可以利用 VC提供的调试功能进行OPNET 程序调试。一般情况下 attach to process 选项框为空,这可能不是VC和OPNET程序本身的问题,因为有些应用软件的进程和op_runsim_dev.exe (或者op_runsim_opt.exe )进程冲突,如一些杀毒软件,acrobat等,或者是其他进程开得过多所致。这时打开任务管理器,找到op_runsim_dev.exe ,右键选择调试。这时会弹出 VC。弹出来的VC工程没有原代码,需要自己手打打开过程原代码,然后在代码中设置断点。回
4、到ODB中点击continue即可在断点出停止。其实就是这么简单 今天放弃了 opnet 14.5安装了 10.0 ,可是安装后发现licence需要用opnet8.1的破解,又安装了 8.1并破解,然后果断卸载,后来因为感 觉缺少了不少功能,又使用11.5的破解程序,可是licence只有60个了,再次安装8.1,问题出现了,程序无法运行,纠结了一上午,发现,原来第一次卸载不彻底,第二次安装路径和第一次又不同,于是解决方法:1,启动Modeler,观察dos窗口(用alt+prtscr,如果滚屏太快的话), 记下错误的路径名。2,把你目前安装的OPNET的整个目录,copy到你刚才记下的错误
5、路径中。说白了就是欺骗一下系统!3,再启动Modeler,估计就能进去了。4,打开edit->preference,修改所有设置错误的路径,改为正确路径, 其中mod_dirs的修改最为痛苦。5,记得按OK按钮。6,删除错误路径的所有文件。7,不放心的话再启动一次 OPNET。Done!1) <<<Program Abort>>>Invalid Memory Access内存无效访问是调试程序中最常碰到的错误,一般是程序中的指针出了问题,可以尝试用以下办法来解决:(1)在 edit->preference 中给 comp_flags 力口/Od/
6、Zi 字段,给 bind_shobj_flags 加 /DEBUG 字段;(2)在 edit->preference 中找至U handle_exception ,将 TRUE 改为 FALSE ,这样程 序中的异常就可以由VC来调试;(3)运行仿真,如提示出现异常,点击cancel ,则自动打开 VC ,并且debug会停留在发生异常的指针处。但是有时候VC的debug有可能停留在让人看不懂的汇编语言处,此时可以观察发生错误的事件event_id值,在ODB调试的时候使用 evstop指令设置断点,让程序中断在出错的事件前,接下来可以采取下列两种方法之一:(1)采用OPNET与VC联合
7、调试,在 VC中通过单步执行查看;(2)用ODB的next指令一个一个时间看,往往配合ltrace和fulltrace 指令查看程序运行状况。碰到这个问题我们也可以缩短仿真时间,在确保仿真能够完成前提下,在仿真属性中选择 Advanced->Profiling->Collect detailed profiling for function ,之后出现每一个内 存使用的统计。2) <<< Recoverable Error >>>Object repository construction faileddue to errors encounte
8、red by the binder program (bind_so_msvc)<<< Program Abort >>>Error encountered rebuilding repository - unable to proceed出现这个错误一般是编译连接出错unresolved external symbol,常见的有以下可能性:(1) Pipeline Stage (C code) 文件名与函数名不一样,这时改为同名就行了。(2)进程模型用到一个无法定位的外部函数,这时在进程模型编辑器中选择File->Declare External F
9、iles ,然后选中含有该外部函数的外部文件。(3)外部文件用到一个无法定位的函数,这时查看是否漏掉include需要用到的头文3) <<<Program Abort>>>No true transitions from state ()T(), EV(), MOD(), PROC (sim_pro_err_transit)状态程序执行完毕找不到出口,有限状态机要能够正常运行要求在任意条件下,每个状态执行完毕之后都必须发生转移,出错的情况有以下两种:a)根本没有转移条件及相应的状态。b)没有满足条件的转移。4) Unable to write file (*
10、.pr.m) compilation failedSource code file couldn't be generated查看模型文件属性是否设置为只读,编译模型文件需要刷新其内容,去掉只读属性。5) <<<Program Abort>>> Standard function stack imbalanceFIN 和 FOUT/FRET 未配对。仿真期间遇到了第2、3、5条错误:首先是外部变量的声明,由于是按照书上的步骤一步一步做的,所以还是有过声明的,然而!悲剧就发生在所声明的变量和代码里的变量不一致这个小错误毁了我一个上午的时间!接下来是错误
11、3,错误发生在没有给第二个process模块添加状态转移线,以至于仿真还没有开始就已经结束了。最后就是错误5,这个就不是我的问题了! 是陈敏老师编书的时候的失误, 在第一个process 模块头代码中,使用了 FIN函数,而结尾的时候却没有用 FOUT与之配对! !估计会有N多初学者栽在这个地方 虽然最后仿真成功了 仍然有几个小问题没有解决!根本找不到矢量的那个结果!谁知道在哪?怎么查看?结果里怎么木有global statistics ?ete delay在哪里?关于统计量的收集最近做了不少实例,或多或少理解了 OPNET仿真的原理和过程。然而想要自己来实现一个通信过程的仿真还是颇有难度,今
12、天就遇到了统计量收集的问题,纠结了许久才找到了正确的办法,在此记录下:我们用OPNET做网络仿真的时候,有些我们感兴趣的统计量OPNET并没有提供,这是就需要我们自行定义了。简单来说,自定义统计量主要分为三步:1 .在进程编辑器里,Interfaces > Global Statistics ,也可以是 local Statistics ,定义一个统 计量的名字,如 Delay、Throughput之类,这里不妨定义为 My Stat。2 .在SV编辑器定义一个统计句柄Stathandle,假设取名为 my_stathandle.3 .让句柄与统计量关联起来,my_stathandle=
13、op_stat_reg ("MyStat",OPC_STAT_INDEX_NONE, OPC_STAT_GLOBAL) ,这一句一般写在 FSM 的 init 状 态里。这里我们没有把这个统计量 "My Stat"分组,如果分组的话,可能语句会有不同,大概不能用OPC_STAT_INDEX_NONE这个参数,我曾经分过组,结果编译时报错,我没仔细看 opnet documentation 。4 .然后就是在程序里,在你需要的地方赋值给这个句柄了,这里我们假设变量abcde由你感兴趣的值。double abcde;/如何取得abcde得值要看你的需要了。o
14、p_stat_write (my_stathandle, abcde);1) state variable/* Counts total packets. */ int pk_count;/* Statistic to record packet count. */ Stathandle pk_cnt_stathandle;2) local statistics 定义:packet count3)注册统计量 pk_count = 0;pk_cnt_stathandle = op_stat_reg ("packet count", OPC_STAT_INDEX_NONE, O
15、PC_STAT_LOCAL);4)搜集统计量+pk_count;op_pk_destroy (op_pk_get (op_intrpt_strm ();op_stat_write (pk_cnt_stathandle, pk_count);关于这个用法,在 OPNET 10.5 Tutorial 的packet switching 一节里也有介绍,可以参考。再附上从别人博客转来的具体操作办法:先说些统计量的概念。统计量(Statistics ),用来显示仿真结束后产生的数据统计结果,一般情况下有三种统计量:标量统计量,矢量统计量,动画。以图形,或者动画的形式显示仿真结果,直观而且易懂。但是,在
16、很多情况下系统模块自带的统计量并不能满足仿真者的统计要求,这就要求自己能创建自定义统计量。统计量分为两种:局部统计量和全局统计量,局部统计量与特定的对象模块有关,如一个发送节点,节点中的进程模型等等,而全局统计量提供整体系统的相关信息,仿真中的各个对象都可以影响统计结果。下面是我自定义统计量的操作步骤:1 .打开一个进程模型 (process model ),在进程模型的菜单Interfaces 下拉选项中有局 部或者全局统计量如下图所示:Local Statistics 和 Global Statistics的操作步骤一样,故本文以 Global Statistics 为例来说明情况。假定,
17、建立了一个名为:packet_size的全局统计量。2 .必须为这个全局统计量建立一个统计句柄,此步操作需在状态变量块(SV)中操作,创建一个统计句柄(Stathandle),命名为PZ;3前面两部分别创建了全局统计量packet_size和统计句柄PZ,但是必须让两者联系起来才能起到想要的作用,故必须用opnet的核心函数进行统计量注册,此步骤一般在有限状态机 (FSM )的init中的入口代码中实现。注册代码为:PZ =op_stat_reg("pakcet_size",OPC_STAT_INDEX_NONE,OPC_STAT_GLOBAL);注册好统计变量后就可以使用了。第5行是packet_size 统计量的注册语句。* I ay_pks»_nd_pr oc_zhu- init - Ent er Ezecuties |口File £di t OptioAs0 e出空LEUaddress_di st = op_d1sc_Toad C&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 脑裂伤的护理措施
- body-language知识教学课件
- 2024年护理安全课件
- 新发展英语(第二版)综合教程2 课件 Unit 8 Food
- 2019培训课件教学课件
- 人教版数学六年级下册6.2图形与几何练习卷含答案
- 无锡市南长区重点达标名校2025年全国新初三下学期开学大联考试题英语试题含答案
- 云南水利水电职业学院《电视新闻节目制作》2023-2024学年第二学期期末试卷
- 2017安全生产课件
- 浙江省富阳市重点中学2025年初三中考冲刺预测卷(六)英语试题含答案
- 北京市海淀外国语实验学校2019-2020学年度第二学期初一英语期中试卷及参考答案
- 英语学术论文写作智慧树知到答案章节测试2023年西安外国语大学
- 多重耐药菌感染的预防与控制优秀课件
- GB 24544-2009坠落防护速差自控器
- GA 837-2009民用爆炸物品储存库治安防范要求
- 部编版《道德与法治》五年级下册第12课《富起来到强起来》精品课件
- 古代中外文化交流史课件
- 冲动是魔鬼课件 心理健康教育
- 投资项目财务评价与案例分析课件
- 一篇散文《水银花开的夜晚》弄懂散文题型
- DB11T 1182-2015 专利代理机构等级评定规范
评论
0/150
提交评论