odb调试_转自网易博客

odb调试_转自网易博客

ID:3914537

大小:560.62 KB

页数:9页

时间:2017-11-25

odb调试_转自网易博客_第1页
odb调试_转自网易博客_第2页
odb调试_转自网易博客_第3页
odb调试_转自网易博客_第4页
odb调试_转自网易博客_第5页
资源描述:

《odb调试_转自网易博客》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、原文链接:http://blog.163.com/zhoumhan_0351/blog/static/399542272009826105222389/(本文图片需用鼠标点击方可看到,其他转帖图片根本无法看到)整理:袁嘉璐10、OpNET的ODB调试1)基本概念日志文件:仿真日志(DESlog,DiscreteEventSimulationlog)和错误日志(Errorlog)。它的内容是在仿真过程中由进程调用OPNET函数op_prg_log_handle_create()op_prg_log_entry_write()写入的。在Help菜单下可以打开错误日志文

2、件。错误日志文件以文本方式保存为/op_admin/err_log,除了在菜单中打开也可以在OPNET控制台(console)窗口输入op_vuerr命令查看。它包含了函数调用堆栈信息,我们可以从函数阶层性的调用关系中精确定位出错位置。在编写函数时必须使用FIN(functionbegin)、FOUT(functionout)、FRET(functionreturn)等界定函数范围的标识符,而且必须使它们配对。编写程序时切记使FIN和FOUT/FRET配对。要产生ODB调试信息,必须将仿真核心类型设定为development,优化的仿真核心(optim

3、ized)为了加快仿真速度不产生ODB调试信息。之后我们还需要在仿真属性中包含debug环境变量。ODB为控制和管理仿真行为提供一个交互式环境。ODB支持断点(Breakpoint)定义,跟踪并显示仿真诊断信息。ODB功能的实现有赖于进程模型中编写相应的程序支持,作为ODB指令激活调试状态(breakpoint、trace和action)的依据,可以在ODB窗口中输入help<参数:all,basic,action,event,memeory,misc,object,packet,process,scripting,stop,trace>查看感兴趣的指令。ODB常

4、用的指令分为basic,event,object,packet,stop,trace,process几类。Basic类指令主要包含了一些基本的操作;Event类指令主要针对事件进行操作;Object类指令主要针对各类对象(如节点,信道等)进行操作。Packet类指令处理所有与包相关的操作。指令类型指令名称功能描述Basic类tstop为与特定时间最接近的事件设置断点cont继续事件运行直至下一个断点next执行下面几个事件quit退出程序status显示用户当前所设的断点,跟踪信息。mstop为特定进程模块设置断点delstop取消断点设置Event类evprin

5、t打印事件信息evstop在某个事件处设置断点Object类attrget获取某类的属性值attrprint打印目标的属性信息attrset设置目标的属性值objassoc打印与目标关联的信息objid获取目标的idobjpkmap打印由指定目标所拥有的包的列表objprint打印目标的信息objmap打印所指定类型的目标列表Packet类iciprint_pk打印与包关联的ici信息pkmap打印指定的包的列表pkstop为指定的包设置断点pttrace跟踪所指定的包树pktrace跟踪所指定的包protrace为目标进程调用的核心函数设置跟踪Trace类ful

6、ltrace显示所有事件调用函数的情况ltrace激活对某个标签的跟踪mtrace针对某个指定模块,显示调用该模块所执行的程序deltrace取消对某个标签的跟踪Process类promap打印进程模块当前包含的进程信息prodiag执行隶属于某进程诊断块中的程序proldiag将诊断块中的标签激活,并执行诊断块中的程序prolstop设置标记断点DiagnosticBlocksproldiag执行目标进程的诊断区程序proldiag带的参数有2个,分别是进程ID和标签(label)。它的效果等同于3条指令的叠加,首先ltrace激活标签;然后prodiag执行进

7、程诊断块中的程序,并且打印标签被激活程序段的信息;最后,在执行完程序后deltrace取消对标签的跟踪。deltrace取消对某个标签的跟踪,与激活标签不同的是,它带的参数为trace_id,而不是标签本身,但是trace_id是系统分配的,不为我们所知,需要通过输入status指令查看。2)针对结构错误(StructuralError)的ODB调试实例我们得知是第13个事件出错我们让仿真停止在第13个事件执行之前,如下所示,在事件栏中我们看到当前中断类型为流中断,另外还有两个ID号,其中executionID为当前事件ID,scheduleID标明当前事件处在仿

8、真核心事件

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。