
踩坑日记:Modbus 多线程死锁修复记录
记录一次 Qt 多线程 Modbus 场景中的退出死锁与超时误判问题,以及对应的工程化修复方案。

记录一次 Qt 多线程 Modbus 场景中的退出死锁与超时误判问题,以及对应的工程化修复方案。
开源工业调试工具 Modbus-Tools(Qt 6 / C++)在建立 Linux 自动化发布管线时,通过多轮迭代收敛出七类跨平台深坑。其中六类共享同一模式:“在别处能跑”往往只是特定环境下的局部表象,而非逻辑正确。本文从 GNU ld 符号剔除、epoll/Winsock 事件时序、Qt 双 Socket 争抢 fd 的未定义行为,到 ELF RUNPATH 契约切分,复盘一个高确定性发布管线的建立过程。
记录一次高频轮询场景下的 CPU 优化复盘:通过收缩 UI 日志链路、删除高频状态机、改造线程等待模型,将进程 CPU 使用率从 3.6%~4.2% 降到 0.1%~0.6%。

面向嵌入式开发与现场联调的轻量级 Modbus 工具。介绍快速发帧、日志查看、帧解析(倍率换算、寄存器注释、JSON/CSV 配置持久化)、Link to Analyzer 实时联动分析等功能的实际用法。