工作中我们会遇到形形色色的bug,但是很多bug都可以调试很明显的看出来,这种bug解决起来我们不会那么头疼但是有些却让人头疼而捉急,特别是本地运行一切正常,上传服务器就会出现bug。现在我总结几个我工作遇到的问题以及解决办法

1:有一次我为别的部门写一个服务接口,本地运行一切正常,但是到服务器就是报一个异常。

解决过程1:在本地先发布然后配置IIS,一切正常。然后把生成的bin文件替换服务器上的bin文件,依然异常

解决过程2:然后在代码中加入日志,但是日志竟然什么都没有。真实见鬼,最后没办法找人商量还是没发现。

最终解决方案:把代码全部考到服务器然后进行调试最后发现内存不足。当然这种情况很少见的,如果出现确实很难找,有的时候在服务器放套代码我觉得还是有必要的。

2:一次我要往数据库添加一条数据,首先判断数据库是否存在然后添加数据,但是发现总是报已存在数据,我从数据库查询确实没有这条数据,我就纳闷怎么了,出鬼了吗,然后我又换种方法去看是否存在,但是查询还是存在,觉得很诡异

最终解决方案:原来我数据库连接错了,因为我们项目中连了很多库,里面很多服务,导致配置文件中还有两个连接库没改过来。所以在工作中如果发现数据库查询和代码中查询不一致的时候第一个要想到是否库连接不对

3:一次我发现我服务器上两个地方调用同样的方法但是返回结果不一样。用vs调试也没发现什么异常(其中一个是提供给别的部门调用的数据)

最终解决方案:最后发现提供给别人调用的接口配置文件中服务地址和自己项目配置文件不同。在工作中如果发现调用同一个方法返回结果不同,查询一下这两个地方调用服务是否一样。

4:一次我们调用一个服务,此服务专门解析打开一篇pdf文献的。但是刚刚10分钟之前还能打开的文献突然全部不能打开,正赶上项目要上线,部门一半以上的人都在解决这个问题,因为这个服务还需要调用别的好几个服务,然后一个个排除,最后都排除不是那几个服务出错,一群人整整找了5个小时都没解决。

最后解决方案:第二天我们老大偶然的发现这个服务队少了一个/ 我们的地址一般都是<http://192.168.000.000/index.aspx/ />红色是我们缺少了,真实令人吐血。所以工作中如果发现调用的服务前几分钟还可以打开,然后就打不开了,一定仔细对比两个服务

5:这是我们部门遇到一个非常难得bug整个部门一起找问题凌晨2点才发现错误。同样我们部署一个项目在服务器上,但是服务器打开就是白页面,我们打开的日志里跟踪发现说我们传输的uid为空,抛出异常,但是这个uid根本就不可能为空,因为链接传输的就有。大家查询服务,查询是否配置出问题了。

最后解决方案:由于权限不足,当去读cookie的时候没有权限导致读取的数值为空抛出异常。所以工作中一定要考虑服务器上的权限上问题,必须给予超级管理员权限,否则出现了问题及其难找,还有当我们注册组件的时候记得要用超级管理员身份,否则有时候就是注册不成功。

6:在工作我们大多都是和别人合作一个项目,这个估计大家都不喜欢,因为如果一个人那里停滞了就会导致项目不前,我个人认为和别人合作的时候一定要静下心来,不要总是抱怨,不停的说又是你的错,如果遇到错误大家一起克服,一起商量然后自己也能学习很多东西。

7:正式项目中记得加入日志,否则出了错误很难找,有了日志就让我们找错误简单了很多。我个人觉得日志是蛮重要的。

工作中遇到的令人头疼的bug的更多相关文章

  1. 解决工作中遇到的一个"打开,保存"文件框的bug的过程

    工作中遇到的这个问题还是很有意思的.其中嵌套了很多奇葩性的问题. (转载请指明出于breaksoftware的csdn博客) 我们来看下故事的发生过程,QA同学发现我们存在如下的bug 看到如此多的串 ...

  2. 关于提BUG的一点思考以及工作中总结的规范

    在测试的工作中,提BUG是日常工作. 以前自己为了省事,省时,仅仅是截图,在图片上注明一下问题,就放到BUG库中了. 现在发现这样会造成开发的时间的浪费,增加了沟通成本. 对于BUG,当发现了异常时, ...

  3. 记录工作中遇到的BUG,经典的数据库时区问题和字段类型tinyint(1)问题

    记录工作中发现的相对而言经典的问题 [数据库时区问题] 我个人数据库配置为CST 如下 我们测试环境的数据库配置为UTC 如下 倘若我修改了测试环境数据库时区为CST.由此造成的问题是 系统读取到数据 ...

  4. Mark下js最大精确整数范围,业务中出现的疑难bug

    今天在跟后端联调中,偶然发现几个数据的id居然一样,我就询问了下后端这是什么情况,然而后端告诉我说并没有相同的id,于是开始一起排查问题.   排查中发现,从后端拿来的数据在浏览器控制台NetWork ...

  5. 软件测试人员在工作中如何运用Linux

    从事过软件测试的小伙们就会明白会使用Linux是多么重要的一件事,工作时需要用到,面试时会被问到,简历中需要写到. 对于软件测试人员来说,不需要你多么熟练使用Linux所有命令,也不需要你对Linux ...

  6. Excel日期中那个著名的bug

    一个软件中的bug能够持续多久?答案不一,大多数bug在软件测试阶段就已经被干掉,又有许多死在Preview阶段,抑或正式上线后不久被干掉,有些则伴随软件终生,直到下一代产品发布才寿终正寝,而Exce ...

  7. Svn在工作中的实践感悟

    Svn是一款管理项目代码的版本控制系统,是基于集中式的版本控制系统.在工作中,由于实际开发工作的需要,部门是使用Svn来管理日常的项目开发任务.使用这么长时间了,来谈谈对Svn的感悟. 首先,说下工作 ...

  8. git在工作中的用法总结-使用篇

    上一篇介绍了git的环境安装配置,本篇对git在工作中常用的用法进行总结,已满足大部分的日常工作需求,对于其他的一些git命令用法在今后使用到时我也会更新上来,文中如有错误,欢迎大家指出来,谢谢~ 一 ...

  9. css布局 - 工作中常见的两栏布局案例及分析

    突然想到要整理这么一篇平时工作中相当常见但是我们又很忽视的布局的多种处理方法.临时就在我经常浏览的网站上抓的相对应的截图.(以后看到其他类型的我再补充) 既然截了图,咱们就直接看人家使用的布局方式,毕 ...

随机推荐

  1. 通过 lsyncd + rsync 同步文件

    通过rsyncd实现将源服务器上的文件同步到目标服务器,通过lsyncd监控源服务器上的文件是否有变动,若有变动调用rsyncd服务对差异的文件进行同步. 0. lsyncd有三种同步文件的方式: ( ...

  2. 2、Android-UI(关于Nine-Patch图片)

    实例: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android= ...

  3. seek()和tell()在文件里转移

    Seek()方法允许在输入和输出流移动到任意的位置,seek()有好几种形式.包含:seekp() 方法和seekg()方法,p是put的意思,g是get的意思:其中输入流里用seekg()函数,输出 ...

  4. Redis简单集群配置

    参考链接为:http://blog.csdn.net/u014230881/article/details/71123494 比较系统学习和熟练使用Redis命令可参考该教程:http://www.r ...

  5. PAT——1060. 爱丁顿数

    英国天文学家爱丁顿很喜欢骑车.据说他为了炫耀自己的骑车功力,还定义了一个“爱丁顿数”E,即满足有E天骑车超过E英里的最大整数E.据说爱丁顿自己的E等于87. 现给定某人N天的骑车距离,请你算出对应的爱 ...

  6. 卢卡斯定理Lucas

    卢卡斯定理Lucas 在数论中,\(Lucas\)定理用于快速计算\(C^m_n ~ \% ~p\),即证明\(C^m_n = \prod_{i = 0} ^kC^{m_i}_{n_i}\)其中\(m ...

  7. freemark生成静态网页乱码问题

    输出流问题:修改Writer如下: OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(dir), &quo ...

  8. 解决win10安装MySQL数据库出现服务无法启动的问题

    安装mysql的时候一直出现这个问题,在网上找了很多种方法,终于解决了这个问题. 我在官网下载的安装包解压后没有my.ini文件,需要自己添加(红字不要复制) [mysql]# 设置mysql客户端默 ...

  9. vue bus方式解决非父子组件间的传值

    对于非父子组件之间的传值 通常使用VUEX 和总线等方式解决 这里我聊聊发布订阅模式(总线) <body> <div class="app"> <ch ...

  10. 以某课网日志分析为例 进入大数据 Spark SQL 的世界

    第1章 初探大数据 本章将介绍为什么要学习大数据.如何学好大数据.如何快速转型大数据岗位.本项目实战课程的内容安排.本项目实战课程的前置内容介绍.开发环境介绍.同时为大家介绍项目中涉及的Hadoop. ...