工作中遇到的令人头疼的bug
工作中我们会遇到形形色色的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的更多相关文章
- 解决工作中遇到的一个"打开,保存"文件框的bug的过程
工作中遇到的这个问题还是很有意思的.其中嵌套了很多奇葩性的问题. (转载请指明出于breaksoftware的csdn博客) 我们来看下故事的发生过程,QA同学发现我们存在如下的bug 看到如此多的串 ...
- 关于提BUG的一点思考以及工作中总结的规范
在测试的工作中,提BUG是日常工作. 以前自己为了省事,省时,仅仅是截图,在图片上注明一下问题,就放到BUG库中了. 现在发现这样会造成开发的时间的浪费,增加了沟通成本. 对于BUG,当发现了异常时, ...
- 记录工作中遇到的BUG,经典的数据库时区问题和字段类型tinyint(1)问题
记录工作中发现的相对而言经典的问题 [数据库时区问题] 我个人数据库配置为CST 如下 我们测试环境的数据库配置为UTC 如下 倘若我修改了测试环境数据库时区为CST.由此造成的问题是 系统读取到数据 ...
- Mark下js最大精确整数范围,业务中出现的疑难bug
今天在跟后端联调中,偶然发现几个数据的id居然一样,我就询问了下后端这是什么情况,然而后端告诉我说并没有相同的id,于是开始一起排查问题. 排查中发现,从后端拿来的数据在浏览器控制台NetWork ...
- 软件测试人员在工作中如何运用Linux
从事过软件测试的小伙们就会明白会使用Linux是多么重要的一件事,工作时需要用到,面试时会被问到,简历中需要写到. 对于软件测试人员来说,不需要你多么熟练使用Linux所有命令,也不需要你对Linux ...
- Excel日期中那个著名的bug
一个软件中的bug能够持续多久?答案不一,大多数bug在软件测试阶段就已经被干掉,又有许多死在Preview阶段,抑或正式上线后不久被干掉,有些则伴随软件终生,直到下一代产品发布才寿终正寝,而Exce ...
- Svn在工作中的实践感悟
Svn是一款管理项目代码的版本控制系统,是基于集中式的版本控制系统.在工作中,由于实际开发工作的需要,部门是使用Svn来管理日常的项目开发任务.使用这么长时间了,来谈谈对Svn的感悟. 首先,说下工作 ...
- git在工作中的用法总结-使用篇
上一篇介绍了git的环境安装配置,本篇对git在工作中常用的用法进行总结,已满足大部分的日常工作需求,对于其他的一些git命令用法在今后使用到时我也会更新上来,文中如有错误,欢迎大家指出来,谢谢~ 一 ...
- css布局 - 工作中常见的两栏布局案例及分析
突然想到要整理这么一篇平时工作中相当常见但是我们又很忽视的布局的多种处理方法.临时就在我经常浏览的网站上抓的相对应的截图.(以后看到其他类型的我再补充) 既然截了图,咱们就直接看人家使用的布局方式,毕 ...
随机推荐
- Kali-linux Arpspoof工具
Arpspoof是一个非常好的ARP欺骗的源代码程序.它的运行不会影响整个网络的通信,该工具通过替换传输中的数据从而达到对目标的欺骗.本节将介绍Arpspoof工具的 使用. 9.8.1 URL流量操 ...
- CUDA 纹理的使用
纹理绑定有两种,一个是绑定到线性内存就是用cudaMalloc();cudaMemcpy();开辟的内存空间,另一种是绑定到cudaMallocArray, cudaMemcpyToArray开辟到的 ...
- 【Linuc-CentOS 】通过yum安装 指定版本的nodejs
原 [Linuc-CentOS ]通过yum安装 指定版本的nodejs 2018年06月21日 06:56:32 黑夜的风 阅读数:884 版权声明:本文为博主原创文章,未经博主允许不得转载. ...
- Android App的签名打包(晋级篇)
http://blog.csdn.net/linghu_java/article/details/6701666 Andriod应用程序如果要在手机或模拟器上安装,必须要有签名! 1.签名的意义 为了 ...
- Unity 游戏框架搭建 2018 (一) 架构、框架与 QFramework 简介
约定 还记得上版本的第二十四篇的约定嘛?现在出来履行啦~ 为什么要重制? 之前写的专栏都是按照心情写的,在最初的时候笔者什么都不懂,而且文章的发布是按照很随性的一个顺序.结果就是说,大家都看完了,都还 ...
- vue-cli 3.0 豆瓣api接口使用element做分页
记录自己的学习 大佬绕道谢谢! 豆瓣即将上映接口:https://api.douban.com/v2/movie/coming_soon 本地跨域问题 看我之前的文章:https://www.cnbl ...
- php实现银联支付
银联支付用的还是比较少的,而且开发中也没接触多少,不过因为工作项目用银联支付能降低费率,所以还是接入了银联支付.本文支付为银联网关和WAP支付接口. 官方网站SDK&DEMO:https:// ...
- 大数据 : Hadoop reduce阶段
Mapreduce中由于sort的存在,MapTask和ReduceTask直接是工作流的架构.而不是数据流的架构.在MapTask尚未结束,其输出结果尚未排序及合并前,ReduceTask是又有数据 ...
- pyhton3解决"tuple parameter unpacking is not supported"问题
准备将键值对中的键与值对调,结果第10行出了bug,显示"tuple parameter unpacking is not supported" 解决方法:将map(lambda( ...
- GUN交叉工具链各模块的作用
名称 归属 作用 arm-linux-as binutils 编译ARM 汇编程序 arm ...