OPNET Modeler 调试简介

在使用 OPNET Modeler 软件运行仿真时,经常会遇到错误,发现和定位错误所在的地方是解决错误的第一步,那么怎么定位错误呢,这个时候就需要采用仿真调试器 (OPNET Simulation Debugger,ODB)进行调试了。
在 OPNET 中,程序调试主要是通过仿真调试器进行的,ODB 是仿真核心固有的一个组成部分,可为用户提供分析程序运行的环境,用户可以通过ODB交互地控制仿真,并获取事件和对象信息。
要使用 ODB 进行调试,首先要设置仿真内核为 “Development” 或者 “Based on ‘kernel_type’ preference”,采用 “Optimized” 则不能进行 ODB 调试,如下图所示。
在这里插入图片描述
此外,在左侧的 Execution——>OPNET Debugger 界面下勾选 Use OPNET Simulation Debugger 选项,如下图所示。
在这里插入图片描述
如果是仿真内核是 “Optimized”,这里会显示 ODB 不可用。
在这里插入图片描述
运行仿真后就会出现下图所示的界面,在命令行输入 help 按回车后就可以看到命令的分类。
在这里插入图片描述
其中,basic 类命令用于 ODB 的基本操作;event 类命令用于事件操作;object 类命令用于对象的操作,比如节点,信道等;packet 类命令用于处理与包有关的操作;process 类命令用于处理与进程有关的操作;stop 和 trace 类命令分别用于断点和跟踪操作。
在 ODB 调试中,最有效的调试手段是断点和跟踪。
在命令行输入 help stop,按回车后出现和断点相关的命令,如下图所示。
在这里插入图片描述
在这里插入图片描述
可以根据提示设置断点,然后点击 continue,仿真就会运行到该断点处停下,然后自己手动再逐步运行仿真,观察每一步的变化。
同理可以在命令行输入 help trace,按回车后出现和跟踪相关的命令,如下图所示。
在这里插入图片描述
在这里插入图片描述
同样可以根据需要选择相应的命令执行。
上面提到的使用命令是一些比较高级的调试方法,我们简单的程序不太用得到。在调试时,一般我们首要选择“Optimized”仿真内核进行仿真,如果仿真没问题,就不使用 ODB 调试了,但是如果发生了错误,且进程编译没出错,我们就需要切换仿真内核为 “Development” 或者 “Based on ‘kernel_type’ preference” ,然后使用 ODB 进行调试了。
在运行仿真后一直按 Next,直到错误发生无法再继续 Next 为止,这个时候就会在 OPNET 的 ODB 界面打印详细的错误信息,指出代码中出错的函数或错误类型,然后我们到相应的位置修改代码再运行仿真查看结果,如此反复直到错误解决为止。
OPNET 调试就是一个不断出错,然后不断尝试改进的过程,希望大家在调试时都能够顺利解决错误!

猜你喜欢

转载自blog.csdn.net/weixin_42570192/article/details/130440929