工作中遇到的令人头疼的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布局 - 工作中常见的两栏布局案例及分析
突然想到要整理这么一篇平时工作中相当常见但是我们又很忽视的布局的多种处理方法.临时就在我经常浏览的网站上抓的相对应的截图.(以后看到其他类型的我再补充) 既然截了图,咱们就直接看人家使用的布局方式,毕 ...
随机推荐
- E、CSL 的魔法 【模拟】 (“新智认知”杯上海高校程序设计竞赛暨第十七届上海大学程序设计春季联赛)
题目传送门:https://ac.nowcoder.com/acm/contest/551#question 题目描述 有两个长度为 n 的序列,a0,a1,…,an−1a0,a1,…,an−1和 b ...
- PHP去重可用
//国外 $arr6 = array_merge($arr2,$arr4); $arr8 = array(); $arr10 = array(); foreach($arr6 as $k6=> ...
- 【转】Java做服务器开发语言
版权声明:本文为博主原创文章,未经博主允许不得转载. 随着游戏市场的兴起,特别是网页游戏.手机游戏的崛起,对游戏开发技术的需求越来越多.网络游戏开发是一个庞大的体系,总体来说是客户端与服务器端.客户端 ...
- Dubbo实践(十一)远程调用流程
默认协议的rpc 过程是比较复杂的,其中涉及到了各个方面,其余各协议实际上有对这个过程进行简化:因此看懂了默认协议的rpc 过程,其他协议就非常容易懂了.在讲Dubbo通信过程之前,可以先了解:Jav ...
- HDU 1004 Let the Balloon Rise(map的使用)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1004 Let the Balloon Rise Time Limit: 2000/1000 MS (J ...
- Spring Boot 构建一个 RESTful Web Service
1 项目目标: 构建一个 web service,接收get 请求 http://localhost:8080/greeting 响应一个json 结果: {"id":1,&qu ...
- Linux下gdb调试(tui)
1 处于TUI模式的GDB 为了以TUI模式运行GDB,可以在调用GDB时在命令行上指定-tui选项,或者处于非TUI模式时在GDB中使用Ctrl+X+A组合键.如果当前处于TUI模式,后一种命令方式 ...
- 你真的了解Scrum吗?
敏捷开发是以用户的需求为核心,采用迭代.循序渐进的方法进行软件开发.而Scrum是实现敏捷开发的具体方式之一.然而你对Scrum又了解多少呢? 什么是Scrum Scrum是橄榄球运动的一个专业术语, ...
- C# 参数关键字params的作用
为了将方法声明为可以接受可变数量参数的方法,我们可以使用params关键字来声明数组,要求: (1)在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params ...
- Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first.
最近在开发一个网站时,有个需要是 如果有新预警信息要在网页中播放提示音.页面打开会请求是否有新信息,有则播放提示音.在Chrome的最新浏览器中,播放会报错,控制台显示Uncaught (in pro ...