遇到的最难的bug

原创 2013年12月03日 17:45:09

1.bug背景

    产品要兼容win7-64系统,我们产品是c/s/c架构,即客户端/服务器/控制台。

    客户端程序出现bug,程序一运行就崩溃。(尝试抓取崩溃文件,没有获取崩溃信息)


2.查找问题

    程序的逻辑是这样的,它启动之后要与服务器进行通信,但是根据查看端口,程序与服务器端口连接

并不正常。首先确认在双方通信的过程中就存在这个问题,通信库是我们自己编写的,接下来开始调试

查看通信库哪里出现问题。找到之后修改,发现通信还是没有建立。 

    通信基础框架我们采用socket网络编程方式,我们的服务器是32位操作系统,客户端是64位操作系统,

为了确保此种通信框架可用,编写了一个简单的通信程序,在客户端和服务器间进行通信,发现时可以的,

证明了我们的通信方式是可用的。接下来继续查找罪魁祸首。

    通过跟踪查找,打印消息等各种手段查找通信过程,查找select函数使用存在问题,修改还是出现崩溃

问题。这时不能确保是通信出现问题还是具体功能出现问题,现在开始整理代码逻辑,把所有与通信无关

的功能都去掉,一步一步查找问题,首先必须确保通信可以畅通才能谈其他,否则客户端就是费得。

    静下心来一点一点的把不相关的东西都去除掉,最后只剩下通信模块,通过测试可以看到端口可以进行

短暂的连接,然后又断开,说明tcp连接的3次握手已经实现,有可能是在发送的数据包的过程中出现了“恶

瘤”,自认为较直观,清晰的方式是看服务器和客户端在通信时都发送了什么数据包,在哪个数据包死掉的,

然后使用wireshark工具查看双方的通信,根据数据包内容以及相关代码,确认出错地点,发现是一个函数

运行时崩溃了。。。。。。

    接下来修改测试,通信成功,甚是激动。。。


3.总结

    这是解决问题之后整理的逻辑,在过程中因为逻辑不清晰以及对项目的不熟悉,导致走了很多的弯路,也

尝试了很多种办法。

    项目属于中小型项目,代码量多,可能会出现错误的地方也很多。找到一条正确的路,难。

    找到一条路,头留下,其余的都砍掉,如果对整体项目不熟,在砍掉的时候也是一个比较犯愁的问题:)

然后从头开始找,一步一步的,切忌烦躁。

    

C/C++bug记录

注:本文主要记录在编程实践中遇到的C/C++bug。1.字节对齐  字节对齐涉及到节省内存空间和提高CPU访问内存效率,而一般的PC程序员不会去设置字节对齐(默认的字节对齐访问效率较高)。字节对齐知识...
  • shiyimin1
  • shiyimin1
  • 2016年08月31日 11:29
  • 470

程序猿,你调试过的最难 Bug 是?

调试 Bug 是每个程序员工作中必须品。在 Quora 上有一个和 Bug 相关的热门问答帖:《What’s the hardest bug you’ve debugged? | 你调试过的最难 Bu...
  • zz2043191420
  • zz2043191420
  • 2015年08月20日 09:50
  • 1509

C++ 遇到的bug,自己的问题,交叉引用了

心情难以平静,调bug调了一天。 Compiling chatserver ../Src/config_redis.cpp          -----------------------------...
  • chen199199
  • chen199199
  • 2016年04月20日 21:14
  • 162

新手Python上路 不断更新碰到的各类bug

Greetings, 最近某公司的OA强制要求C++或者Python,尼玛赤裸裸的歧视Java选手,不能忍啊,虽然说学C++这样开发语言通吃了,不过想想当年学C语言那指针蛋疼的操作,**P *&p...
  • fantasiasango
  • fantasiasango
  • 2016年09月22日 02:19
  • 767

项目开发中遇到的--Bug知识整理!

====第一个Bug====》》  目前测试出现在IE7,IE6中。     问题:标签,经测试,不兼容IE7,IE6. (个人建议不要使用button标签)     解决方案:改成 /...
  • andyliulin
  • andyliulin
  • 2016年08月19日 13:31
  • 840

开发过程中遇到的bug以及解决办法 面试回答个人遇到

前后端分离跨域问题,前后端分离带shiro跨域问题,前后端分离ip不同机器之间跨域问题...
  • u013208953
  • u013208953
  • 2017年10月12日 15:41
  • 146

项目中遇到的bug(web前端-持续更新)

项目中遇到的常见bug,及时整理。 input放在a标签里面单机不能获取input的光标(IE环境下)双击才可以获得焦点,目前有的解决方案: 不要给a标签添加href属性; 不要在外面套上a标签。 返...
  • wkyseo
  • wkyseo
  • 2016年04月15日 10:11
  • 2874

Android 开发过程中遇见的奇葩的bug

一、大图片OOM 当初是在黄页详情页使用imageload加载一个大图片。很OK的,压力测试的时候,会出现这样情况,不停快速打开关闭详情页,根据手机性能而定大约10_20次就出现了OOM(经分析,之前...
  • yanwenyuan0304
  • yanwenyuan0304
  • 2016年01月07日 12:01
  • 1105

遇到BUG时你应该怎么做

下面是拜读Think Python 中关于代码错误的调试方法的一些记录,特意摘出来以便告诫自己 当你的程序不工作时, 1.首先你需要问自己这些问题: ˆ 有没有什么程序应该做却没有发生?...
  • baidu_29609961
  • baidu_29609961
  • 2017年08月26日 17:05
  • 211

java开发中遇到的Bug整理

java开发中遇到bug是再正常不过了,所谓程序不是写出来的是调出来的,bug的调试是程序开发中重要的一部分也是必不可少的一部分。以下是我项目开发中遇到的bug整理,有一些可能比较低级,但是我还是把它...
  • nqmysbd
  • nqmysbd
  • 2016年11月05日 11:26
  • 2064
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:遇到的最难的bug
举报原因:
原因补充:

(最多只允许输入30个字)