当前位置:网站首页>远程控制项目遇到的bug
远程控制项目遇到的bug
2022-08-09 00:48:00 【沈跃泉】
远程控制项目遇到的bug
1 函数名后少加括号
解决方法:应改为:InitSockEnv()
2 预处理器添加安全警告等信息
_CRT_SECURE_NO_WARNINGS
3 平台bug,x64换成x86
4 没有添加本机字节序转为网络字节序的bug
htonl就是把本机字节顺序转化为网络字节顺序
5 虚拟机网络连接bug
6 BUFER_SIZE缓冲区设置太小,导致界面卡顿,对话框无法移动
7 屏幕分辩率问题和鼠标坐标转换问题
8 按回车键的bug,解决方法是重写OnOk事件。
9 静态变量声明后,没有实现
类中静态成员变量只有声明,没有实现。
10 VS的Bug:函数参数错误,第6个参数错误,结果提示成第一个参数错误
11 网络多线程的bug
1 两个线程同时触发,鼠标和屏幕,线程同步和数据安全
鼠标和监控冲突。鼠标回应答(大概10字节)和 监控回图片(几百k) ,缓冲区一样,图片和应答字节互相产生影响,导致了多线程发送消息会产生冲突的bug,鼠标和监控的应答会产生混乱 服务器一次只能处理一个命令,可能会连接失败。
2 size和index关系没理清
size和index关系没理清,导致接收的数据包和缓存区处理有问题,监控画面的显示无法正常更新,解决方法:memmove(pBuffer, pBuffer + size, index - size)。
12 运算符优先级问题
运算符优先级可能导致程序出现bug,优先级:”>,<,>=,<=”大于”==”大于”&&”大于”||”……
解决方法:加上括号以防止出错,这样也便于阅读
13 内存泄漏
堆区开辟的内存没有释放,引入vld,方便排查内存泄漏的bug。需要包含头文件#include <vld.h>
14 注册表开机自动启动权限
设置注册表开机自动启动权限时mklink缺少一个空格指定为System32路径,强制转换到了SysWOW64路径下
开机启动的时候,程序的权限是跟随启动用户的
如果两者权限不一致,则会导致程序启动失败
解决方法:
【复制这些dll到System32下面或者SysWOW64下面】
System32下面,多是64位程序 SysWOW64下面,多是32位程序
15 引用头文件bug
头文件中的函数被多次引用,解决方法:将定义改为声明,在源文件当中定义。一个项目当中,定义只能有一次,可以有多次声明。
边栏推荐
猜你喜欢
随机推荐
《Go语言学习:基本变量与类型》
C语言-大端存储和小端存储
torch.utils.data.DataLoader
卷积神经网络EfficentNet v1学习记录--Model Scaling
对付流氓软件
tf.pad()--填充操作
笔记&代码 | 统计学——基于R(第四版) 第十一章 时间序列预测
容器运维平台的故障处理-1
手把手教你云服务器如何搭建typecho博客网站(包括配置免费SSL证书)
requestAnimationFrame实现浏览器动画
【科研-学习-pytorch】5-boardcasting、合并分割
最优化问题——线性规划模型
桌面内容整理,用时高效
微信企业号开发之开启回调模式
Transformer前言:self-attention与Multi-Headed Attention的详细理解
「复盘」面试 BAMT 回来整理 398 道高频面试题,助你拿高薪 offer
安装wcf框架
MySQL5.7安装教程图解
在Windows环境下使用MySQL:自动定时备份
XShell用命令行打包jar包(详细步骤)