C++搭建集群聊天室(十六):代码测试文档

举报
看,未来 发表于 2021/08/26 13:23:09 2021/08/26
【摘要】 既然客户端都发出来了,总得开始测试一下了,虽然说在整集群,两手抓嘛。测出来一些问题,还有不少问题潜在着。持续更新中@[toc] bug 1:bug:登录、测试皆失败寻病:debug调试病灶:char sql[128] = {0};sprintf("insert into User(name,password,state) values('%s','%s','%s')", use...

请添加图片描述

既然客户端都发出来了,总得开始测试一下了,虽然说在整集群,两手抓嘛。
测出来一些问题,还有不少问题潜在着。持续更新中

@[toc]


bug 1:

bug:登录、测试皆失败
寻病:debug调试
病灶:

char sql[128] = {0};

sprintf("insert into User(name,password,state) values('%s','%s','%s')",
        user.getname().c_str(),user.getpassword().c_str(),user.getstate().c_str());

由于 sprintf 函数没有正确的传入第一个参数,而传入的第二个参数又正好为字符串,则导致这条语句少传入一个参数,仅仅是报了个警告,注意到了,但是一眼没看出来,就放任了。

解决方法:将 sql 作为 sprintf 的第一个参数,正确传参。


bug 2

bug:在更新用户状态的时候报错
解决方法:一眼就看出那条 SQL 语句有问题,update 写成 updata 了。


bug 3(待解决)

服务端异常退出,但是客户端的状态为依然在线。

解决方案:捕捉信号,投放到 reset 中。

困难点:异常溜了,暂时还没捕捉到信号。
(其实就是忘了存了。。。下次做事手脚一定要麻利点,第一时间把状态保存下来,而不是继续往下测试。)


bug 4

单聊消息一发送,服务端就崩溃。

病灶:json解析找不到字段。

解决方案:
1、重新校准协议。
2、设置判断条件,提高代码健壮性。


bug 5

创建群组数据库执行失败。

用眼睛都能看出来是表名忽略了大小写。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。