深夜支持现场解决软件问题纪实

某年某月某日,某个很早之前加我微信好友的在校学生给我发了一个消息:“请问,程序员每天工作累吗?”

关于程序员工作强度的问题,网上的文章和帖子到处都是,也不需要我多说了。就像一个人生来就离不开交税和死亡一样,程序员从入行那天开始也离不开两件事:加班和解决bug。对于一个软件开发人员来说,要像一个战士一样,随时准备战斗,即使是在深夜。

在本文中,我简单介绍一下三次深夜支持现场解决软件问题的经历,大家也可以加深对程序员工作状况的了解。

对某局点软件升级问题的支持
某天晚上12点,我已进入梦乡,突然,电话铃声响起了。我一看,是测试部的一个同事打过来的。在电话中,他说海外某局点正在对某个软件版本执行升级操作,在升级的过程中,出现了问题:当替换掉旧程序之后,新的程序无法启动。现场人员不知道问题所在,所以只有让研发人员支持一下。为了方便沟通,他叫我登录到Skype上,并把我拉入到了一个群中。

虽然极不情愿离开温暖的被窝,但本着一种对工作负责任的态度,我还是起床打开了电脑,登录Skype。一会儿,测试同事便把我拉入群中。我向现场同事详细了解了他执行升级操作的整个过程,没有发现明显的问题。并且,整个软件升级包是经过了充分的自测之后才发往现场的,升级的过程也是在研发自己的环境上模拟过的。那么,为什么正确的操作过程却产生不了正确的结果呢?

我叫现场支持人员执行了查看升级文件属性的命令,发现该文件的属性和我们自己测试的时候的文件属性不一样。于是,我进一步询问了他上传文件的方式,才知道他用FTP工具上传文件的时候,没有选择用二进制的方式上传,因此出现了文件类型与平台的要求不匹配,最终导致了程序无法启动。
问题的原因就是这么简单,我叫现场支持人员使用二进制方式重新上传了一次文件,上传完成之后,程序启动就正常了。

整个支持工作进行了大半个小时,这也算是我深夜支持工作的第一仗。

对某局点程序core问题的支持
某天凌晨两点,我在睡梦中接到了开发经理的一个电话,说某局点的程序core(崩溃)掉了,希望我能够支持一下,找到问题的原因。

这次,我们是在QQ群中讨论问题。现场支持人员将程序的core信息拷贝到了QQ群中,让我们分析一下。根据我对程序的了解,我发现引发程序core问题的这段代码很少被使用到,平时测试的时候也常常被忽略了,好在有一个配置项来控制是否进入该程序流程。

于是,我建议现场支持人员修改了配置项,并重启程序,这样程序就不会进入该流程而core掉。同时,我们将core信息保存起来,待上班时间参照来分析程序问题所在。

很多时候,程序出现问题就是因为我们测试不严格。不管一个功能常用与否,我们都应该对其进行充分的测试,千万不要因为抱着侥幸的心理而偷懒。

对某局点信箱满问题的支持
就在最近的某天的凌晨三点,我接到测试部同事的一个电话,说海外某局点出现了信箱满的情况,让我上QQ群去支持一下,看怎样让信箱数目降下来。

进入QQ群之后,现场支持人员大致讲了一下情况,主要问题集中在某信箱删除程序。从该程序所生成的日志来看,只有部分满足条件的信箱被删除了,而有更多的本来应该被删除的信箱还存在。现场支持人员主要有这两点疑惑:第一,是否能够延长信箱删除程序的有效清除时间,让更多的信箱被清除掉?第二,怎样通过日志来判断该程序成功执行了信箱的删除操作?

基于现场支持人员的疑惑,我让他修改了配置文件中的程序结束清理的时间,这样相当于延长了程序的有效清理时间;同时,我也将判断程序成功执行信箱删除操作的关键词告诉了他,让他在日志里面搜索。此外,为了让现场支持人员能够了解信箱清理的原理,我将程序的运行机制详细地告诉了他,并且让他在有疑问的时候发邮件给我们,我们再仔细回复。

整个支持工作持续了将近一个小时,当天也是欧洲杯中德国与法国较量。但是,我不是因为要看欧洲杯而起早,而是因为要解决现场的问题。下面是我当天解决问题之后在微信朋友圈发的消息,mark一下。

总结
如上所述,面对每一个程序员的,是永远都做不完的需求和永远都解决不完的bug,这也是大部分软件从业人员的工作现状。因此,大家说程序员每天工作累吗?

当然,做任何事情都要看一个人的心态,如果我们将遇到的每个问题都视为提升自己能力的一个机会,都以积极的态度来面对,那么别人眼中的苦不再是我们所感受到的苦了。如果要以一句话来结束本文,我想会是这句:红军不怕远征难,万水千山只等闲!

-------
本文同步发布在本人微信公众号里面,欢迎扫描关注:

时间: 2024-08-03 19:48:21

深夜支持现场解决软件问题纪实的相关文章

Windows 7如何解决软件兼容问题?

  问:Windows 7如何解决软件兼容问题? 答:微软Vista之所以没有XP成功,正是由于其兼容性的诟病.所以对于Windows7,微软在程序兼容性下大下功夫,首先对于能正常运行在Vista上的程序,Windows7保证都可以兼容.但是对于那些能运行在XP上,却不能运行在Vista上的程序,Windows7也不能兼容.对于不兼容的程序,我们可以尝试利用兼容性模式来运行,具体做法是: 右键单击需要在兼容模式下运行的程序,选择属性一项(菜单的最后一个),然后切换到兼容性标签,如下图就可以选择,

如何解决软件无法安装的问题

  当你想要在电脑上系统下载安装一些软件时,是否遇到过无法安装的提示呢?此时,面对着这种状况,你要如何做呢?这里小编教你如何解决软件无法安装的问题. 有的软件安装需要"Windows Installer"支持,一般解决方法为:单击"开始"菜单中的"控制面板"命令,在打开的"控制面板"窗口中双击"管理工具"图标,在打开的窗口中双击"服务"图标,在弹出的"服务"对话框中找

win7系统使用QQ管家解决软件运行错误的问题

  win7系统使用QQ管家解决软件运行错误的问题 1.打开QQ电脑管家-工具箱; 2.然后点击 电脑诊所; 3.进入之后点击 软件硬件下方 丢失dll文件; 4.然后点击第一个 丢失d3dx**.dll; 5.点击修复就可以了.

电脑通过微软清理工具解决软件总是提示Windows Installer正准备安装的问题

电脑通过微软清理工具解决软件总是提示Windows Installer正准备安装的问题   1.搜索并下载微软清理工具windows install clean up; 2.运行安装程序并完成安装; 3.安装完成之后,打开windows install clean up软件; 4.选中有问题的软件,点击Remove卸载; 5.在弹出的警告窗口中点击确定即可.

新中新二代身份证阅读器ocx控件使用提示对象不支持怎么解决?

问题描述 新中新二代身份证阅读器ocx控件使用提示对象不支持怎么解决? 100C 项目需要在客户端浏览器中使用新中新二代身份证阅读器读取身份证信息,使用官方提供的ocx控件,并且在自己本机上可以读取,但是在客户机上使用时在调用控件的方法的时候提示对象不支持XXX方法图片说明官方提供的驱动什么的都装上了,好像还是不行,跪求解释....官方的demo也跑不通图片说明 解决方案 你机器上可以读取,那你的机器和客户机有什么区别吗??? 解决方案二: 都是window7 64位,都是IE9, 官方提供的控

IT支持不足以解决手机的安全问题

当人们的手机出现故障时,通常把它带到当地的电话销售商或大型零售商进行测试,或者拨打IT电话热线求助解决这个问题.但是简单的IT支持并不足以解决问题.有时,为了让其手机再次工作,保证信息安全,或者从中获取其想要的数据. 以下是可能需要排除基本故障提供帮助的几个因素: (1)检索信息 如果你正在使用手机,突然间失去了一切.其中包括手机存储的所有的照片,甚至是孩子的照片或珍贵的毕业照.手机坏了却不来及保存,那么现在他们永远消失了? 在作为证据方面,移动设备取证有时可以从已损坏,擦除或损坏的手机中检索图

如何用Windows帮助和支持功能解决系统问题

  其实,平时如果碰到系统问题,通常会在百度上搜索一番,然后再按照网上提供的各种教程尝试解决一下相应的问题,有时候运气好点一试就解决了,有时候是百试不行.最新win7系统下载有自带帮助与支持功能,这似乎被很多用户给忽略了,下面小编为各位系统用户介绍一下Win7系统自带的帮助和支持功能. 一.在win7 64位纯净版桌面上开始菜单处,打开"帮助和支持"功能.如果在开始菜单处没有链接可以进入,可以在开台菜单里面的搜索程序和文件处,输入"帮助和支持",即可看到该功能图标.

AngularJS在IE8的不支持的解决方法_AngularJS

AngularJS一般不会选择IE8支持, 因为很多特性在IE8下效果很差, 性能也不好, 但是由于项目的需要, 客户的机器有些是XP, 只能够装IE8, 所以为了解决这个, 我查阅了相关的资料,发现GITHUT有一些对AngularJS的改进,我选择的是https://github.com/frankzye/angular.js-ie8-builds, 这是我Fork过来的,能够解决大部分问题,但是 有一点是在作Directive的时候,一定不要用Element去扩展, 否则会出错, 另外$h

php的json_encode不支持JSON_UNESCAPED_UNICODE解决办法

我们知道, 用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似"\u***"的格式, 还会在一定程度上增加传输的数据量. <?php echo json_encode("中文");   //"\u4e2d\u6587" 这就让我们这些在天朝做开发的同学, 很是头疼, 有的时候还不得不自己写json_encode. 而在PHP5.4, 这个问题终于得以解决, Json新增了一个选项: JSON_UNES