免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3512 | 回复: 7
打印 上一主题 下一主题

[C++] 好奇葩的问题呀,直接跳过了几行代码不执行。 [复制链接]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-09-12 12:33 |只看该作者 |倒序浏览
  1. int TUserEngine::Process(void *arg)
  2. {
  3.         m_thread_info = (S_THREAD_INFO *)arg;
  4.         m_sbuff = &m_thread_info->send_buf;
  5.         char *p_cmd;
  6.         int res;

  7.         while(1){
  8.                 printf("开始读取数据\n");
  9.                 res = ReadPack(&p_cmd);

  10.                 printf("=====收到前端数据==模块id:%d=长度:%d\n",m_conn->proto.MODLUE_ID,res);

  11.                 if(res>0)
  12.                         ExecCmd(p_cmd,res);
  13.                 else
  14.                         if(res==-2)
  15.                                 printf("====尼玛,天大的消息啊==MODLUE_ID:%d=res:%d===DATA_LEN:%d===code:%d==user_id:%d\n",m_conn->proto.MODLUE_ID,res,m_conn->proto.DATA_LEN,m_conn->proto.AUTH,m_conn->user_id);
  16.                         else
  17.                                 printf("====尼玛=======%d\n",res);
  18.                         return res;
  19.         }
  20.         return 0;
  21. }
复制代码
日志
  1. 开始读取数据
  2. =======1========
  3. =======2========
  4. =======3========
  5. =======4========
  6. =======5========
  7. =======6========
  8. =======7========
  9. =======8========180
  10. =====收到前端数据==模块id:18=长度:180
  11. 开始读取数据
  12. =======1========
  13. =======2========
  14. =======3========
  15. =======4========
  16. =======5========
  17. =======6========
  18. =======7========
  19. =======8========171
  20. =====收到前端数据==模块id:12=长度:171
  21. =======1========
  22. =======2========
  23. =======3========
  24. =======4========
  25. =======5========
  26. =======6========
  27. =======7========
  28. =======8========157
  29. =====收到前端数据==模块id:-2=长度:157

  30. =====收到前端数据==模块id:1484=长度:-2=内容:
  31. ====尼玛,天大的消息啊==MODLUE_ID:1484=res:-2===DATA_LEN:830===code:2==user_id:1441
  32. **********校验码错误或头协议错误A:*******MODLUE_ID:1484**res:-2**DATA_LEN:830**user_id:1441**

  33. =====收到前端数据==模块id:1484=长度:-2=内容:
  34. ====尼玛,天大的消息啊==MODLUE_ID:1484=res:-2===DATA_LEN:830===code:2==user_id:1441
  35. **********校验码错误或头协议错误A:*******MODLUE_ID:1484**res:-2**DATA_LEN:830**user_id:1441**
复制代码
看到日志最后几行,都没有读取数据,跳过了
printf("开始读取数据\n";
res = ReadPack(&p_cmd);
这两行,直接执行printf("=====收到前端数据==模块id:%d=长度:%d\n",m_conn->proto.MODLUE_ID,res);这样,这是怎么做到的?执行过程,完全不按照执行过程来啊

论坛徽章:
59
2015年亚洲杯之约旦
日期:2015-01-27 21:27:392015年亚洲杯之日本
日期:2015-02-06 22:09:41拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015元宵节徽章
日期:2015-03-06 15:50:392015年亚洲杯之阿联酋
日期:2015-03-19 17:39:302015年亚洲杯之中国
日期:2015-03-23 18:52:23巳蛇
日期:2014-12-14 22:44:03双子座
日期:2014-12-10 21:39:16处女座
日期:2014-12-02 08:03:17天蝎座
日期:2014-07-21 19:08:47
2 [报告]
发表于 2015-09-12 18:29 |只看该作者
ExecCmd改写了它的返回地址了吧

论坛徽章:
154
2022北京冬奥会纪念版徽章
日期:2015-08-07 17:10:5720周年集字徽章-年
日期:2022-10-26 16:44:2015-16赛季CBA联赛之深圳
日期:2022-11-02 14:02:4515-16赛季CBA联赛之八一
日期:2022-11-28 12:07:4820周年集字徽章-20	
日期:2023-07-19 08:49:4515-16赛季CBA联赛之八一
日期:2023-11-04 19:23:5115-16赛季CBA联赛之广夏
日期:2023-12-13 18:09:34
3 [报告]
发表于 2015-09-12 22:44 来自手机 |只看该作者
用的什么开发环境啊,vc就一步步跟踪一下吧

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
4 [报告]
发表于 2015-09-14 08:50 |只看该作者
循环里面if语句的缩进是不是误导你了

论坛徽章:
6
技术图书徽章
日期:2013-11-13 11:11:27子鼠
日期:2014-02-20 17:54:13处女座
日期:2014-06-16 17:43:33午马
日期:2014-08-08 09:11:17未羊
日期:2014-08-10 11:57:072015年辞旧岁徽章
日期:2015-03-03 16:54:15
5 [报告]
发表于 2015-09-14 10:43 |只看该作者
这没打括号分隔的嵌套分支,到底是
  1. if ()
  2. {
  3.     ...
  4. }
  5. else
  6. {
  7.     if ()
  8.     {
  9.         ...
  10.     }
  11.     else
  12.     {
  13.         ...
  14.     }
  15. }
复制代码
还是
  1. if ()
  2. {
  3.     ...
  4. }
  5. else if ()
  6. {
  7.     ...
  8. }
  9. else
  10. {
  11.     ...
  12. }
复制代码

论坛徽章:
11
2015年迎新春徽章
日期:2015-03-04 09:55:282017金鸡报晓
日期:2017-02-08 10:39:4215-16赛季CBA联赛之辽宁
日期:2016-12-15 10:24:1715-16赛季CBA联赛之佛山
日期:2016-11-30 09:04:2015-16赛季CBA联赛之江苏
日期:2016-04-29 15:56:1215-16赛季CBA联赛之同曦
日期:2016-04-12 13:21:182016猴年福章徽章
日期:2016-02-18 15:30:3415-16赛季CBA联赛之山东
日期:2016-02-16 11:37:52每日论坛发贴之星
日期:2016-02-07 06:20:00程序设计版块每日发帖之星
日期:2016-02-07 06:20:0015-16赛季CBA联赛之新疆
日期:2018-01-09 16:25:37
6 [报告]
发表于 2015-09-14 13:26 |只看该作者
本帖最后由 bskay 于 2015-09-14 13:31 编辑

好奇葩的问题啊.................

论坛徽章:
1
2015亚冠之阿尔艾因
日期:2015-08-24 15:46:57
7 [报告]
发表于 2015-09-16 09:43 |只看该作者
ReadPack里是不是把输出清掉了啊。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
8 [报告]
发表于 2015-09-16 12:38 |只看该作者
littledick 发表于 2015-09-14 10:43
这没打括号分隔的嵌套分支,到底是还是?
忘记打括号了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP