没有合适的资源?快使用搜索试试~ 我知道了~
记一次灵异般的 Bug 调试经历1
需积分: 0 1 下载量 66 浏览量
2022-08-04
13:31:54
上传
评论
收藏 309KB PDF 举报
温馨提示
试读
4页
来看看他在 Quora 上拿到 16k 多顶的经历:我曾经受雇于一位心理学家,去修复一个“输出有些奇怪的”软件,那个软件是他之前带过的一个研究生编写的。所以我可
资源详情
资源评论
资源推荐
2016/6/3 记一次灵异般的Bug调试经历文章
http://blog.jobbole.com/100734/ 1/4
记一次灵异般的 Bug 调试经历 - 文章
【伯乐在线导读】:说到程序员的噩梦,除了《程序员的 13 种噩梦,你遇到过哪些?》这篇提到的
「无法重现的 Bug」,还有「遇到一个不懂技术又是掌控狂的项目经理」或「频繁变更需求」。自称有
35 年编程经历的 Mick Stute 对最大的噩梦有不同的体验。来看看他在 Quora 上拿到 16k 多顶的经
历:
我曾经受雇于一位心理学家,去修复一个“输出有些奇怪的”软件,那个软件是他之前带过的一个研究
生编写的。这款软件会读取一个数据文件,询问用户 50 个问题,进行一些计算并且根据该博士的研究
给出一个分数。
这个程序运行在一台 3B2 电脑上。他向我示范了这个软件并且他确信在问题间切换时,屏幕上有奇怪的
文字闪过,而且文字看起来并不友好。我同意去修复它,问题看上去比较直接。所以我可能得花几个小
时去判断一下问题的严重性,这段时间的工作需要按小时进行支付,随后我们会就最终的报酬达成协
议。
第1天
我坐在这台 3B2 电脑前,登录了那个研究生的账户,软件的代码都存在这里。我仔细检查这些 C 语言
代码,这些代码故意写的让人看不懂。所有代码都挤在一行。软件共有 15 个文件,每个文件里面有三
个函数——全在一行!所有的变量名都是三个看上去随机的字母。我和雇主谈了谈,决定花点时间处理
一下(明智的决定)。我梳理了全部的代码并且做了排版优化,这让我读代码时容易些。
代码的梳理工作如期完成。软件使用了 curses 库,在屏幕上打印问题和答案并等待用户响应。但是它
会首先移动到第一行的问题,打印一条鼓吹“白人至上”的消息,等待 1/2 秒,然后用一条问题覆盖了
这串字符。这个问题应该比较简单。这里只有5个位置可以用来输出,每个位置都会闪过一条潜意识信息
(译注:潜意识信息是指:参杂在正常信息中,用于对目标进行暗示的消息)。每条信息都是硬编码
的。没问题,删除打印令人不适信息的mvprintw()函数一切就正常了。应该会正常吧。我重新编译代
码,认为自己已经搞定了。但是当我再次运行软件的时候,问题又发生了——一条潜意识信息。这一次
是同样的问题,只不过信息的内容不同了。
我再次查看代码,不管你信不信,它又回到了最初的状态。15个文件,混在一起,3个字母的变量——完
完全全的变回了最初的状态。我真想一枪打死我自己,因为我忘了备份一份整理后的代码。我又重新梳
理了代码,这一次我把它们放在了三个文件中,起了不同的名字。我把整个目录拷贝了一份,然后对其
设置了只读。我再次编译了代码,看上去没什么问题。运行程序,这下好了,15个文件的原版代码,包
括我自己修改过的代码以及输出的潜意识信息,又都回来了。
好吧,在硬盘上某处有一份源码,原来的作者设置了一个程序,每当你编译的时候,就把那份代码拷贝
过来。我进行了一次全盘扫描,包括 (/usr/include)。因为这是一个研究用的程序,因此我们有除了内
色空空色
- 粉丝: 53
- 资源: 331
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0