工作中遇到的令人头疼的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布局 - 工作中常见的两栏布局案例及分析
突然想到要整理这么一篇平时工作中相当常见但是我们又很忽视的布局的多种处理方法.临时就在我经常浏览的网站上抓的相对应的截图.(以后看到其他类型的我再补充) 既然截了图,咱们就直接看人家使用的布局方式,毕 ...
随机推荐
- React 简单实例 (React-router + webpack + Antd )
React Demo Github 地址 经过React Native 的洗礼之后,写了这个 demo :React 是为了使前端的V层更具组件化,能更好的复用,同时可以让你从操作dom中解脱出来, ...
- 2019.3.26 为什么说HTTP是无状态协议/无连接
无状态 1.协议对于事务处理没有记忆能力 2.对同一个url请求没有上下文关系 3.每次的请求都是独立的,它的执行情况和结果与前面的请求和之后的请求时无直接关系的,它不会受前面的请求应答情况直接影响, ...
- Ubuntu安装MySQL/MariaDB
安装MariaDB/MySQL MariaDB是MySQL的分支,与MySQL高度兼容,几乎所有的命令都一样.MariaDB是由前MySQL的开发人员离开Sun公司后开发的,目的是为了防止Oracle ...
- 修改linux系统的默认语言
修改linux系统的默认语言: 1.全局修改: 所有用户都是同一种统一的语言设置 修改/etc/sysconfig/i18n文件 vi /etc/s ...
- Python装饰器高级用法
在Python中,装饰器一般用来修饰函数,实现公共功能,达到代码复用的目的.在函数定义前加上@xxxx,然后函数就注入了某些行为,很神奇!然而,这只是语法糖而已. 场景 假设,有一些工作函数,用来对数 ...
- 利用纯JS和HTML Canvas生成随机迷宫过程中产生的有趣的事情
上效果图: #先看生成随机迷宫的代码吧↓ <html> <head> <title>生成随机迷宫v1.0</title> </head> & ...
- #leetcode刷题之路22-括号生成
给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合. 例如,给出 n = 3,生成结果为:[ "((()))", "(()())&q ...
- php计算上个月是几月份
PHP计算上个月的时间, $date = date("Y-m-d"); $arr = explode('-',$date); foreach ($arr as $key=>$ ...
- hadoop生态搭建(3节点)
软件:CentOS-7 VMware12 SSHSecureShellClient shell工具:Xshell 规划 vm网络配置 01.基础配置 02.ssh配置 03.zookeep ...
- 嵌入式C语言自我修养 12:有一种宏,叫可变参数宏
12.1 什么是可变参数宏 在上面的教程中,我们学会了变参函数的定义和使用,基本套路就是使用 va_list.va_start.va_end 等宏,去解析那些可变参数列表我们找到这些参数的存储地址后, ...