当前位置: 首页 > news >正文

QC -io 服务器排查报错方式/报错: Failed to convert string to integer of varId variable!“

进断点控制台有报错之后,复制报错信息到 头部菜单栏

1.编辑 -> 2.Find/Replace  ->3.Advanced Find ->4. Project“xxxxx” 能找到问题点

再分析定位


在排查报错时候,进入了这个报错,msgInfo = "MyTcpRedis: Failed to convert string to integer of varId variable!"

C++ 代码:

//依据设备io地址从redis中查找变量
bool MyTcpRedis::searchVariabeByIoAddr(const QString& ip, quint16 ioAddr, quint32 *varId)
{bool ok;quint16 t;QString sid;QString msgInfo;if ((m_redis) && (m_redis->isConnected())) {//依据varID读取ip和ioAddr,io_addr_var_id(string)sid = devIoAddrToVarIdTbl + ":" + ip + ":" + QString::number(ioAddr);t = m_redis->get(sid).toUInt(&ok);if (!ok) {msgInfo = "MyTcpRedis: Failed to convert string to integer of varId variable!";MyDebug::print(msgInfo);return false;}*varId = t;return true;}return false;
}  

当出现 "Failed to convert string to integer" 这个错误时,意味着从 Redis 读取回来的字符串无法成功转换为无符号整数。主要原因如下:

  1. 键值不存在:在 Redis 里,对应的键可能并不存在,此时获取到的就是空字符串。
  2. 数据格式有误:键对应的值也许不是合法的整数字符串,像包含了字母、特殊符号等情况。
  3. 数值范围不匹配:就算字符串是合法的整数,但如果超出了quint16(也就是 0 - 65535)的范围,也会导致转换失败。

核实 Redis 中的数据情况

redis-cli get "io_addr_var_id:设备IP:IO地址"

  • 若返回 (nil):这表明键不存在,你就得检查键的格式或者数据是否成功写入。
  • 若返回非整数字符串:例如 "abc"、"123.45",那就要修正数据写入的逻辑。
  • 若返回的整数值超出范围:比如大于 65535,就需要把存储类型改成quint32
http://www.lryc.cn/news/573313.html

相关文章:

  • 2.7 Python方法调用机制解析:从描述符到字节码执行
  • 学习C++、QT---03(C++的输入输出、C++的基本数据类型介绍)
  • 【无标题】使用 Chocolatey 安装 WSL 管理工具 LxRunOffline
  • 贪心算法思路详解
  • Mac电脑-Markdown编辑器-Typora
  • 利用nRF54L15-DK的DEBUG OUT接口调试用户设计的ARM处理器系统
  • springboot口腔管理平台
  • 【分布式理论】读确认数与写确认数:分布式一致性的核心概念
  • WPF Style样式 全局样式资源字典
  • 获取 DOM 与 nextTick:Vue 中的 DOM 操作
  • CTF--PhP Web解题(走入CTF)
  • 增量学习ASAP的源码剖析:如何实现人形的运动追踪和全身控制(核心涉及HumanoidVerse中的agents模块)
  • Redis集群部署终极指南:架构选型、生产部署与深度优化
  • 人形机器人_双足行走动力学:本田机械腿的倒立摆模型
  • rt-thread中使用usb官方自带的驱动问题记录
  • 【全开源】填表问卷统计预约打卡表单系统+uniapp前端
  • 基于FPGA的白噪声信号发生器verilog实现,包含testbench和开发板硬件测试
  • 基于物联网的智能饮水机系统设计
  • API网关Apisix管理接口速查
  • STM32 CAN简介及帧格式
  • AR眼镜与3D建模社区建设
  • 3D可视化数字孪生智能服务平台-物联网智控节能控、管、维一体化技术架构
  • RA4M2开发IOT(0)----安装e² studio
  • QVariant详解与属性访问
  • 【设计模式】3.装饰模式
  • 算法导论第二十四章 深度学习前沿:从序列建模到创造式AI
  • MySQL之InnoDB存储引擎深度解析
  • 深度剖析 PACK_SESSIONID 实现原理与安全突破机制
  • 【环境配置】在Ubuntu Server上安装5090 PyTorch环境
  • Kubernetes控制平面组件:Kubelet详解(八):容器存储接口 CSI