您对华为云开发者网站的整体评价?

非常不满意 非常满意

0

1

2

3

4

5

6

7

8

9

10

*您遇到了哪些问题?(最多选三项)
*您感到满意的原因是?(最多选三项)
*请针对您所遇到的问题给出具体的反馈
0/200
建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
温馨提示

确定
温馨提示

确定
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
温馨提示

登录超时或用户已下线,请重新登录!!!

确定
取消
提示

您发布的内容检测到敏感词

如点击继续发布,敏感词将以“*”代替

返回修改
继续发布

作者小头像 Lv.8
12523 成长值

个人介绍

17年工作经验,对企业管理软件的设计和开发有深入研究。

感兴趣或擅长的领域

云计算
个人勋章
TA还没获得勋章~
成长雷达
12470
21
0
0
32

个人资料

个人介绍

17年工作经验,对企业管理软件的设计和开发有深入研究。

感兴趣或擅长的领域

云计算

达成规则

他的回复:
我是做企业管理软件的程序员,有一次我遇到一个问题,一段后台作业代码,运行时偶尔会出现运行时异常(runtime exception),但这个异常不是 100% 能重现,运行十次,大概能重现2,3次。而且在系统负载很重的时候,反而一次也不能重现。更折磨人的是,如果在交互式单步调试模式下,这段代码运行完美,一点问题也没有。既然不能通过单步调试来排错,我的同事们都觉得棘手,最后让我来和这个问题死磕。 后来我采用类似二分查找的方式,把可能引起这个问题的代码层层过滤,最后定位到几行有高度嫌疑的代码,我自己编写了一个测试程序来模拟后台作业执行出错时的运行环境,才找到罪魁祸首:我们的一个模型创建 API,不支持模型创建和模型删除,在一秒钟之内完成。 也就是说,用户在 UI 界面正常操作时,手速再快,也不可能完成在一秒钟之内,做到先创建模型,然后马上删除的操作。但是后台作业是用代码调用 API,在系统负载不高的情况下,一秒钟之内完成创建并且删除的操作,不是一件困难的事情。这个时序问题也解释了为什么这个问题在单步调试模式下无法重现。这个有趣的问题解决完之后,我在公司内部给同事们做了分享。同时我也把问题的细节,和解决方案,发表在了华为云社区上,感兴趣的朋友可以看我这篇华为云社区博客。我把这种通过二分查找法,缩小调查范围,最后找到引起故障的方法论,同电脑硬件DIY 发烧友经常用的最小系统法做了类比:虽然当时花了我不少时间来找问题的原因,但修复故障后,还是很有成就感的,或许这就是当程序员的乐趣吧!