OPNET Modeler 调试简介

news2025/1/12 18:18:29

在使用 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 调试就是一个不断出错,然后不断尝试改进的过程,希望大家在调试时都能够顺利解决错误!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/475133.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【模电实验】电路元件伏安特性的测绘及电源外特性的测量

实验2电路元件伏安特性的测绘及电源外特性的测量 实验目的 学习测量线性和非线性电阻元件伏安特性的方法,并绘制其特性曲线学习测量电源外特性的方法掌握运用伏安法判定电阻元件类型的方法学习使用直流电压表、电流表,掌握电压、电流的测量方法 实验原…

Java BIO(Blocking IO:同步并阻塞式IO)

1.基本介绍 1>.Java BIO就是传统的java io编程,其相关的类和接口在"java.io"包下; 2>.BIO(Blocking I/O): 同步阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理; 如果这个连接不做任何事情会造成(服务器)不必…

【C++】STL——list深度剖析 及 模拟实现

文章目录 前言1. list的介绍及使用1.1 list的介绍1.2 list的使用遍历插入删除数据Operations迭代器的功能分类list 的sort性能测试 2. list的模拟实现2.1 STL_list源码浏览2.2 基本结构实现2.3 思考:list迭代器是否可以用原生指针2.4 list迭代器的实现(重…

RocketMQ5.1 NameServer 路由管理

文章目录 1. 路由管理核心组件介绍2. RouteInfoManager 路由表3. 路由管理3.1 注册 Broker3.2 注销 Broker3.3 拼凑 TopicRouteData 此文章基于 RocketMQ 5.1 版本进行分析,与 4.x 版本相比此文章分析的部分源码有很大的区别 1. 路由管理核心组件介绍 路由管理是指…

亚马逊、沃尔玛、ebay测评出现风控、砍单、封号怎么解决?

大家好,我是亚马逊测评珑哥,提前祝各位跨境朋友五一假期愉快。 很多卖家和工作室的朋友加珑哥,沟通中很多朋友都在问为什么测评中一直被砍单,封号是什么原因?其实测评不是你随便买个IP,或者买几个买家号就…

轻松掌握mysql慢查询定位与优化知识点

在这里插入图片描述 1、利用工具定位慢sql 1、运维工具Skywalking 1、定位到慢接口 2、追踪慢sql的执行情况 2、利用MySQL的日志定位慢sql 在调式阶段才开启慢日志的查询,因为会损耗一些性能。 3、分析是否正确使用了索引 当我们已经定位到具体哪个sql较慢时&…

【计算几何】帝国边界划分问题【Voronoi图的原理】

一、说明 Voronoi 单元也称为泰森多边形。 Voronoi 图在许多领域都有实际和理论应用,主要是在科学和技术领域,但也在视觉艺术领域使用。Voronoi 图以数学家 Georgy Voronoy 的名字命名,也称为 Voronoi 镶嵌、Voronoi 分解、Voronoi 分区或 Di…

减少过拟合:暂退法

文章目录 (一)过拟合(二)暂退法 (一)过拟合 1.过拟合产生的原因 (1)根本原因: 我们都知道模型参数的优化方式:反向传播更新梯度,然后随机梯度下降。 也非常清楚模型参…

【Java笔试强训 9】

🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🤺🤺🤺 目录 一、选择题 二、编程题 🔥另类加法…

弗洛伊德算法(求最短路径)

弗洛伊德算法介绍 和迪杰斯特拉算法一 样, 弗洛伊德(Floyd)算法也是一种用于寻找给定的加权图中顶点间最短路径的算法。弗洛伊德算法(Floyd)计算图中各个顶点之间的最短路径迪杰斯特拉算法用于计算图中某-一个顶点到其他项点的最短路径。弗洛伊德算法VS迪杰斯特拉算…

【数据库架构】PostgreSQL的最佳群集高可用性方案

如果您的系统依赖PostgreSQL数据库并且您正在寻找HA的集群解决方案,我们希望提前告知您这是一项复杂的任务,但并非不可能实现。 我们将讨论一些解决方案,您可以从中选择对您的容错要求。 PostgreSQL本身不支持任何多主群集解决方案&#xff0…

Python Unet ++ :医学图像分割,医学细胞分割,Unet医学图像处理,语义分割

一,语义分割:分割领域前几年的发展 图像分割是机器视觉任务的一个重要基础任务,在图像分析、自动驾驶、视频监控等方面都有很重要的作用。图像分割可以被看成一个分类任务,需要给每个像素进行分类,所以就比图像分类任务…

C++-FFmpeg-8-(1)基本概念与原理-rtsp-I、P、B 帧-DTS、PTS-

目录 1.rtsp是什么? 2. I、P、B 帧 3.DTS、PTS 4.rtsp协议抓包分析? 1.rtsp是什么? 流程: 鉴权: 2种 :basice64 Digest 哈希值 哈希值不可逆。nonce 做的单项散列(MD5,SHA512&#xff0…

HTML(二) -- 表格设计

目录 1. 基本格式&#xff1a; 表格常用属性&#xff1a; 2. 表格标签 为什么使用表格&#xff1f; 简单通用、结构稳定数据显示的非常的规整、可读性非常好 1. 基本格式&#xff1a; <table style"border: 1px solid black;" border"1px">&l…

AWE2023什么值得看?智哪儿带你五大关键词读懂AWE2023

4月27至30日&#xff0c;2023年中国家电及消费电子博览会&#xff08;AWE 2023&#xff09;在上海浦东新国际博览中心开展。 作为与德国IFA、美国CES并肩的全球前三国际家电及消费电子展览会&#xff0c;时隔两年AWE终于重启。沉淀两年&#xff0c;它的规模也是历年最大&#x…

QT+OpenCV配置

QTOpenCV配置 1 下载CMake2 安装CMake3 下载OPenCV4 配置环境变量4.1 配置QT环境变量4.2 配置CMake环境变量4.3 重启电脑生效 5 CMake编译OPenCV5.1 解决报错 6 测试 1 下载CMake 链接&#xff1a;https://cmake.org/download/ 2 安装CMake 3 下载OPenCV 链接&#xff1a;htt…

本地elasticsearch中文分词器 ik分词器安装及使用

ElasticSearch 内置了分词器&#xff0c;如标准分词器、简单分词器、空白词器等。但这些分词器对我们最常使用的中文并不友好&#xff0c;不能按我们的语言习惯进行分词。 ik分词器就是一个标准的中文分词器。它可以根据定义的字典对域进行分词&#xff0c;并且支持用户配置自…

网络设备中VRRP协议和Linux服务器中keepalived的两个区别

1、什么是VRRP&#xff1f;keepalived又是什么&#xff1f; VRRP全称是Virtual Router Redundancy Protocol&#xff0c;即虚拟路由冗余协议。它的主要目的是在一个网络中提供冗余的路由。当一个三层网络设备或服务器出现故障时&#xff0c;VRRP可以确保网络仍能正常工作。VRR…

在.NET Core中正确使用HttpClient的方式

HttpClient 是 .NET Framework、.NET Core 或 .NET 5以上版本中的一个类&#xff0c;用于向 Web API 发送 HTTP 请求并接收响应。它提供了一些简单易用的方法&#xff0c;如 GET、POST、PUT 和 DELETE&#xff0c;可以很容易地构造和发送 HTTP 请求&#xff0c;并处理响应数据。…

算法之时间复杂度---数据结构

目录 前言&#xff1a; 1.时间复杂度 1.1时间复杂度的理解 1.2规模与基本操作执行次数 1.3大O渐进表示法 1.4计算基本操作的次数 2.常见的时间复杂度及其优劣比较 ❤博主CSDN&#xff1a;啊苏要学习 ▶专栏分类&#xff1a;数据结构◀ 学习数据结构是一件有趣的事情&…