C++搭建集群聊天室(十六):代码测试文档
【摘要】 既然客户端都发出来了,总得开始测试一下了,虽然说在整集群,两手抓嘛。测出来一些问题,还有不少问题潜在着。持续更新中@[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)