精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

程序員,你調(diào)試過的最難的 Bug 是什么?

開發(fā) 項(xiàng)目管理
調(diào)試 Bug?每個(gè)程序員工作中必須品。在 Quora 上有一個(gè)和 Bug 相關(guān)的熱門問答帖:《What’s the hardest bug you’ve debugged? | 你調(diào)試過的最難 Bug 是?》。在眾多回復(fù)中,Dave Baggett 的經(jīng)歷最讓人驚嘆,得到了 2400 多個(gè)頂。

回想起這個(gè)bug,仍然讓我有些痛苦。作為一個(gè)程序員,在發(fā)現(xiàn)bug時(shí),你學(xué)會(huì)了首先在自己代碼中找問題,或許在測(cè)試一萬次之后,你會(huì)把問題歸咎于編譯器。只有在這所有的都不起作用之后,你才會(huì)把問題歸咎于硬件。

這是我遭遇一個(gè)硬件bug的故事。

拋開別的不說,我曾為《Crash Bandicoot》寫存儲(chǔ)卡(讀寫)代碼。對(duì)于一個(gè)自大的游戲程序員,這就像是在公園里散步一樣輕松愉快,我認(rèn)為只要幾天就寫完了。我中止調(diào)試六個(gè)禮拜。在此期間我做一些其他的事情,但我一直回來處理這個(gè)bug——幾天內(nèi)每天幾個(gè)小時(shí)。這個(gè)bug實(shí)在煩人。

這個(gè)bug的癥狀是,當(dāng)你需要保存你的進(jìn)度時(shí),代碼會(huì)訪問存儲(chǔ)卡,而大部分情況下沒有什么問題…但是偶爾讀寫會(huì)超時(shí)…沒有任何明顯的原因。一個(gè)短小的寫入經(jīng)常毀掉存儲(chǔ)卡。玩家要保存進(jìn)度,我們不僅不保存,還擦除他們存儲(chǔ)卡上的全部東西。天哪。

過了一段時(shí)間,我們?cè)赟ony的制作人Connie Booth慌了。我們顯然不能帶著這個(gè)bug發(fā)布游戲,而六個(gè)星期之后我對(duì)于問題出在哪一點(diǎn)線索都沒有。通過Connie我們向其他 PS1 開發(fā)者求助:有沒有人出現(xiàn)過像我們這樣的情況?沒有。絕對(duì)沒有任何人在存儲(chǔ)卡系統(tǒng)上出現(xiàn)任何問題。

在你絞盡腦汁之后,你能做的唯一一個(gè)調(diào)試方法就是分而治之:一點(diǎn)點(diǎn)去除程序中的代碼,直到留下的代碼很少但你仍然出問題。像木雕一樣去除沒有問題的代碼,留下的就是你的bug所在。

在這樣的背景下挑戰(zhàn)在于,視頻游戲是很難去除某一部分的。在你刪除模擬重力或者顯示字符的代碼后,如何運(yùn)行游戲?

你必須做的是用一個(gè)假裝做真正的事情,但實(shí)際上只是做很簡(jiǎn)單的不會(huì)出現(xiàn)bug事情的東西來替換掉整個(gè)模塊。你必須寫新的支撐代碼來讓這些玩意正常工作。這是一個(gè)緩慢而痛苦的過程。

長(zhǎng)話短說:我做完了。我移除了大片大片的代碼,相當(dāng)多,只留下了初始化代碼——就是準(zhǔn)備游戲運(yùn)行系統(tǒng),初始化底層硬件等等。當(dāng)然,我不能顯示加載/保存菜單,因?yàn)槲医爻怂械膱D像代碼。但是我能夠假裝用戶使用(不可見的)加載/保存屏幕并且請(qǐng)求保存,然后寫入卡中。

我最終以一個(gè)帶有這個(gè)bug的很少量的代碼結(jié)束——但問題仍然隨機(jī)出現(xiàn)!在大多數(shù)情況下沒啥問題,但是偶爾會(huì)失效。基本上所有的Crash的實(shí)際代碼都被移除了,但還是這樣。這實(shí)在是莫名其妙:留下來的代碼基本上都沒做什么事。

在那時(shí)——估計(jì)是凌晨3點(diǎn)——一個(gè)想法蹦了出來。讀寫(I/O)涉及精確定時(shí)。無論是硬盤、存儲(chǔ)卡、藍(lán)牙發(fā)送器——隨便啥——做讀寫的底層代碼都是根據(jù)時(shí)鐘來的。

時(shí)鐘讓不直接連接到CPU的硬件設(shè)備和cpu運(yùn)行的代碼同步。時(shí)鐘決定了波特率——數(shù)據(jù)從一頭傳到另一頭的速率。如果計(jì)時(shí)有什么問題,硬件或者軟件或者兩者都會(huì)亂七八糟的。這真的,真的很糟糕,并且通常導(dǎo)致數(shù)據(jù)損壞。

如果我們的初始化代碼以某種方式弄亂了計(jì)時(shí)會(huì)怎么樣?我又看了一遍測(cè)試程序中和計(jì)時(shí)有關(guān)的代碼,并注意到我們將PS1上的可編程計(jì)時(shí)器設(shè)置到了 1kHz(1000跳每秒)。這是比較快了,當(dāng)PS1啟動(dòng)的時(shí)候,默認(rèn)狀態(tài)大概是100Hz。因此,大多數(shù)游戲?qū)⑺麄兊挠?jì)時(shí)器設(shè)置為100Hz。

這個(gè)游戲的帶頭(和除我外的唯一)開發(fā)者Andy,將計(jì)時(shí)器設(shè)置為1kHz,使得Crash的動(dòng)作計(jì)算更加準(zhǔn)確。Andy喜歡矯枉過正,如果我們要模擬重力,我們應(yīng)該盡可能的提高精度!

然而如果提高計(jì)時(shí)器頻率莫名其妙的干擾了整個(gè)程序的計(jì)時(shí),故而將這個(gè)計(jì)時(shí)器設(shè)置到存儲(chǔ)卡的波特率上會(huì)怎樣呢?

我將計(jì)時(shí)器代碼注釋掉。然后我就無法復(fù)原這個(gè)bug了。但是這并不表示bug被修復(fù)了,這個(gè)問題是隨機(jī)發(fā)生的。萬一我只是運(yùn)氣好呢?

幾天過去了,我還是在玩我的測(cè)試程序。Bug沒有再出現(xiàn)。我回到全部的Crash代碼中,修改了加載/保存代碼,在訪問存儲(chǔ)卡之前將可編程計(jì)時(shí)器重置為默認(rèn)設(shè)置(100Hz),之后設(shè)置回1kHz。從此之后沒有發(fā)現(xiàn)問題再次出現(xiàn)。

但是…為什么?

我重新回到測(cè)試程序上,試著檢測(cè)當(dāng)計(jì)時(shí)器設(shè)置為1kHz時(shí)出現(xiàn)的那些錯(cuò)誤的模式。終于,我注意到這些錯(cuò)誤出現(xiàn)在使用PS1手柄的人身上。因?yàn)槲易约?很少這樣做,所以我沒有注意到(為啥我要在測(cè)試加載/保存代碼的時(shí)候用手柄)。但是有一天我們的美工等我去完成測(cè)試(我確定那時(shí)候我在爆粗口),而他緊張 的擺弄著手柄。卡損壞了。“等下,怎么回事?喂,再來一次!”

一旦我發(fā)現(xiàn)了這兩件事是聯(lián)系著的,就很容易重現(xiàn)bug:開始寫入存儲(chǔ)卡,動(dòng)一下手柄,存儲(chǔ)卡損壞。在我看來完全是硬件bug。

我去找Connie告訴他我的發(fā)現(xiàn)。她轉(zhuǎn)述給設(shè)計(jì)過PS1的硬件工程師。她被告知:“不可能,這不可能是硬件問題。”我跟她說問一下我能不能直接和他說。

那個(gè)工程師給我打電話了,他用著他的爛英語,我用著我更爛的日語,我們爭(zhēng)論一會(huì)。我最后說:“我給你一個(gè)30行的測(cè)試程序,讓你在動(dòng)手柄的時(shí)候能夠 出現(xiàn)這問題。”他答應(yīng)了。他向我保證,這是浪費(fèi)時(shí)間,而他正在一個(gè)新項(xiàng)目上很忙,但因?yàn)槲覀兪荢ony很重要的開發(fā)者,他會(huì)試的。

第二天晚上(我們?cè)诼迳即墸跂|京,所以對(duì)于我來說是晚上而他是到了第二天),他給我打電話,不好意思的向我道歉。這是個(gè)硬件問題。

我還是沒有完全搞清楚問題到底在哪,但是我的印象中,從Sony總部的反饋聽到的是,如果將可編程計(jì)時(shí)器設(shè)置到足夠高的時(shí)鐘頻率,會(huì)影響到主板上時(shí) 鐘晶振附近的一些東西。這些東西之一就是存儲(chǔ)卡的波特率控制器,同時(shí)也設(shè)置手柄的波特率。我不是搞硬件的,所以對(duì)于細(xì)節(jié)我相當(dāng)模糊。

但是主旨是主板上兩個(gè)獨(dú)立部分的串?dāng)_,以及手柄接口和存儲(chǔ)卡接口數(shù)據(jù)發(fā)送的結(jié)合在1kHz的時(shí)鐘頻率下會(huì)導(dǎo)致丟位,從而數(shù)據(jù)丟失,以致卡損壞。

這是我全部編程生涯中,唯一一次因?yàn)榱孔恿W(xué)debug的問題。

原文鏈接:http://www.quora.com/Programming-Interviews/Whats-the-hardest-bug-youve-debugged/answer/Dave-Baggett

譯文鏈接:http://blog.jobbole.com/50995/

責(zé)任編輯:陳四芳 來源: 伯樂在線
相關(guān)推薦

2017-11-27 11:26:35

程序員Bug調(diào)試

2013-03-29 13:15:32

程序員

2014-12-08 10:08:33

程序員

2014-12-08 09:44:01

程序員

2015-11-24 09:13:25

程序員bug

2015-12-31 09:36:55

程序員最理想公司

2012-02-23 15:02:46

程序員

2015-12-04 08:49:00

程序員夢(mèng)魘

2021-09-08 17:36:58

程序員技能開發(fā)者

2015-12-07 10:09:40

程序員噩夢(mèng)

2021-04-30 23:46:04

程序員副業(yè)賺錢

2011-06-08 10:24:58

程序員

2011-03-01 09:52:48

人才程序員

2010-11-22 13:28:55

2018-01-30 09:19:46

程序員技能Bug

2015-11-04 11:38:40

bug程序員

2018-06-07 16:20:56

代碼代碼質(zhì)量程序員

2020-01-10 17:29:12

IT開發(fā)者程序員

2014-02-18 13:45:39

bug程序員

2015-06-29 09:44:55

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

国产精品久久久久免费a∨| 日韩美女视频在线| 杨幂一区欧美专区| 91好色先生tv| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲国产成人爱av在线播放| 男人和女人啪啪网站| 成年人在线观看| 国产91丝袜在线播放0| 青青在线视频一区二区三区| 我要看一级黄色录像| 国产精品15p| 欧美日韩亚洲综合一区| 国产亚洲黄色片| 1区2区3区在线观看| 成人av一区二区三区| 国产日韩在线视频| 久久久国产精品成人免费| 天天做天天爱天天综合网| 亚洲精品久久久久久下一站| 中文字幕第100页| 欧美videosex性极品hd| 国产精品天干天干在线综合| 国产精品亚洲不卡a| 一区二区日韩视频| 香蕉久久夜色精品| 欧美激情aaaa| 亚洲AV成人无码精电影在线| 亚洲精品动态| 亚洲国产成人爱av在线播放| 亚洲综合伊人久久| 精品肉辣文txt下载| 精品色蜜蜜精品视频在线观看| 在线观看欧美亚洲| 成人在线观看免费| 91麻豆123| 国产精品青青草| 97人妻精品一区二区三区视频| 六月天综合网| 欧美孕妇孕交黑巨大网站| 欧美精品久久久久性色| 婷婷色综合网| 色午夜这里只有精品| 国产精品密蕾丝袜| 亚洲伊人春色| 亚洲精品一区二区网址 | 国产成人aaaa| 99久久精品无码一区二区毛片| 中文av免费观看| 丝袜美腿亚洲色图| 日韩美女视频中文字幕| 久久久久亚洲av成人毛片韩| 亚洲午夜精品久久久久久app| 久热在线中文字幕色999舞| 91视频最新网址| 日韩欧美1区| 中文字幕国产精品| 99精品全国免费观看| 国产一区二区三区日韩精品| 亚洲男人天堂九九视频| 在线免费观看麻豆| 国产一区三区在线播放| 亚洲欧美激情一区| 99久久精品免费视频| 欧美日韩在线网站| 中文字幕免费精品一区| 登山的目的在线| 欧美一区高清| 久久久久久久香蕉网| 国产精品16p| 性欧美videos另类喷潮| 国产成人aa精品一区在线播放| 伊人久久久久久久久久久久| 美女脱光内衣内裤视频久久影院| 国产日韩在线视频| 国产成人久久精品77777综合| 国产精品99久久久久久似苏梦涵| 国产传媒一区二区| 天天爱天天干天天操| 91丨porny丨户外露出| 欧美中日韩免费视频| 男人资源在线播放| 亚洲国产成人91porn| 成人综合视频在线| 日本欧美韩国| 欧美一区二区三区免费在线看 | 欧美成人手机在线| 久久精品久久精品久久| 视频一区欧美精品| 91免费福利视频| 午夜av免费在线观看| 国产欧美一区二区精品忘忧草| 三年中国中文在线观看免费播放| 七七成人影院| 色综合天天在线| 91网址在线观看精品| 国产精品极品国产中出| 国产亚洲精品一区二区| 欧美日韩综合一区二区| 久久成人一区| 亚洲最大成人网色| 久久手机免费观看| 亚洲美女区一区| 久久久久久久中文| av在线亚洲一区| 国产视频精品xxxx| www.色小姐com| 日韩专区在线视频| 成人在线视频电影| 日韩在线免费电影| 精品久久香蕉国产线看观看gif| 日本在线观看免费视频| 成人h动漫精品一区二区器材| 在线精品国产成人综合| 日本中文字幕在线免费观看| 久久国产精品一区二区| 精品日本一区二区| a黄色片在线观看| 91国偷自产一区二区三区观看| 亚洲成a人无码| 99精品视频精品精品视频| 91国内揄拍国内精品对白| 国产伦精品一区二区三区四区 | 99久久精品一区二区成人| 亚洲а∨天堂久久精品9966| 国产色无码精品视频国产| 天堂成人免费av电影一区| 国产美女99p| 在线观看男女av免费网址| 欧美色窝79yyyycom| 国精产品一区一区三区免费视频| 欧美日一区二区三区在线观看国产免| 国产日韩欧美在线播放| 九色蝌蚪在线| 91九色最新地址| 黄色a一级视频| 亚洲精品1234| 国产欧美亚洲日本| 欧美人与牲禽动交com| 日韩一区二区三区电影| 伊人久久久久久久久久久久久久| 男人的j进女人的j一区| 日本一区二区在线视频| 亚洲一级少妇| 亚洲精品资源美女情侣酒店| 国产九色在线播放九色| 99久久免费国产| 国产在线精品91| 嫩草国产精品入口| 国内外成人免费激情在线视频| 草草视频在线播放| 一区二区三区日韩精品| 秋霞午夜鲁丝一区二区| 欧美精品日本| 99在线首页视频| 青草青在线视频| 亚洲高清一区二| 中文字幕激情小说| 久久久久久久网| 亚洲精品一二三四五区| 日韩在线视频精品| 91沈先生在线观看| 四虎影院观看视频在线观看 | 日韩精品视频在线观看一区二区三区| 亚洲国产精品麻豆| 污污污www精品国产网站| 亚洲大胆在线| 品久久久久久久久久96高清| 激情欧美一区二区三区黑长吊| 久久人人爽人人爽人人片亚洲| jizz中国少妇| 调教+趴+乳夹+国产+精品| 中文字幕一区二区久久人妻网站| 久久精品五月| 欧美日韩一区二区三区电影| 黄色网一区二区| 国产成人亚洲综合| 黄色免费在线观看网站| 精品嫩草影院久久| 男人天堂av在线播放| 国产精品女同一区二区三区| 欧美精品 - 色网| 一区视频在线| 欧美深深色噜噜狠狠yyy| 国产精品天堂蜜av在线播放 | 日韩av大片在线观看| 国产日产欧美一区| 日本高清免费在线视频| 亚洲美女啪啪| 一区二区在线观看网站| 精品午夜电影| 91精品国产综合久久香蕉922| 久久av色综合| 中文字幕欧美亚洲| 人妻夜夜爽天天爽| 欧美日韩视频不卡| 免费一级特黄特色大片| 国产精品每日更新在线播放网址| 成人一区二区三区仙踪林| 欧美日韩dvd| av伊人久久| 国产精品一区二区三区观看| 国产成人a视频高清在线观看| 久久久久国色av免费观看性色 | 欧美国产高跟鞋裸体秀xxxhd| 免费在线观看污视频| 日韩女优电影在线观看| 国产真人无遮挡作爱免费视频| 亚洲一区在线观看网站| 美国美女黄色片| 91网址在线看| 日本精品一二三| 国产精品自产自拍| 超碰在线播放91| 欧美一级久久| 三上悠亚久久精品| 欧美一区视频| 国产一区一区三区| 第一会所亚洲原创| 久久精品日产第一区二区三区精品版 | 天天影视网天天综合色在线播放| 黄色录像免费观看| 国产三区在线成人av| 波多野结衣影院| 风间由美一区二区三区在线观看| 日本中文字幕二区| 日韩av在线播放中文字幕| 欧美变态另类刺激| 亚洲性感美女99在线| 青少年xxxxx性开放hg| 欧美色女视频| 日韩精品无码一区二区三区| 香蕉久久夜色精品国产更新时间| 成人综合色站| 色妞ww精品视频7777| 91影视免费在线观看| 白嫩亚洲一区二区三区| 成人福利网站在线观看| 99久久综合国产精品二区| 国产精品mp4| 3d性欧美动漫精品xxxx软件| 欧美一级电影久久| 亚洲淫成人影院| 丝袜久久网站| 成人中文字幕在线观看 | 成人国内精品久久久久一区| 欧美aaa大片视频一二区| 国产精品va在线播放| 日韩成人影音| 国产精品av在线| 外国电影一区二区| 国产精品一区二区久久精品| 国产资源一区| 国产美女精品视频免费观看| 久久电影天堂| 成人xxxxx| 韩国三级大全久久网站| 97超碰人人看人人| 99精品国产高清一区二区麻豆| 99久久一区三区四区免费| 一区二区三区免费在线看| 国产乱码精品一区二区三区卡 | 亚洲精品一区二区三区不| 黄色在线播放| 一本大道久久加勒比香蕉| 2019中文字幕在线视频| 欧美大尺度在线观看| 丝袜美腿av在线| 97人人做人人爱| 国产日韩另类视频一区| 成人免费自拍视频| av动漫精品一区二区| 久久综合入口| 99久久久久| 福利视频免费在线观看| 免费在线亚洲欧美| 久久99爱视频| 粉嫩13p一区二区三区| xxx在线播放| 亚洲精品国产a久久久久久| 中文字幕在线字幕中文| 91福利在线导航| 国产日韩一级片| 日韩成人av网| 免费黄色网址在线观看| 久久久久久久成人| 精品网站在线| 国产精品果冻传媒潘| 国产伦精品一区二区三区千人斩 | 亚洲精品在线视频观看| 精品日韩美女| 国外成人福利视频| 成人xxxxx| 在线观看视频一区二区三区| 日韩西西人体444www| 九九热精品免费视频| 欧美色道久久88综合亚洲精品| 国产精品免费无遮挡无码永久视频| 欧美男男青年gay1069videost| 秋霞网一区二区| 中文字幕一区二区三区电影| 男男gaygays亚洲| 国产精品高清在线| jazzjazz国产精品久久| 精品少妇一区二区三区在线视频| 亚洲乱码精品久久久久.. | 欧洲美女7788成人免费视频| 欧美视频精品| 日本婷婷久久久久久久久一区二区| 国产精品国产一区| 一女被多男玩喷潮视频| 国产麻豆91精品| 欧美aaa级片| 狠狠干狠狠久久| 亚洲精品国产suv一区| 日韩亚洲成人av在线| 国产在线精彩视频| 99久久久精品免费观看国产| 99久久婷婷| 国产高潮免费视频| av一区二区三区黑人| 欧美精品一级片| 欧美一区二区三区在线看| 永久av在线| 国产精品女主播| 久草在线成人| 国产无套内射久久久国产| 成人深夜视频在线观看| 2021亚洲天堂| 在线播放中文字幕一区| 91福利在线视频| 国产精品免费久久久久久| 亚洲精品国产动漫| 18禁免费观看网站| 成人av网址在线观看| 九九视频在线观看| 精品国产伦一区二区三区观看方式| 黄色片免费在线观看| 91性高湖久久久久久久久_久久99| 色无极亚洲影院| 亚洲精品20p| 最好看的中文字幕久久| 国产精品久久影视| 精品国产一区二区三区四区在线观看 | 欧美 日韩 综合| 国内伊人久久久久久网站视频 | www.99re7| 91精品国产91久久久久久最新毛片 | 91视频免费观看| 欧美激情黑白配| 亚洲视频自拍偷拍| 成人免费一区| 艳母动漫在线免费观看| 国产福利91精品一区二区三区| 九九九久久久久| 亚洲国产成人91精品| 午夜影院一区| 日韩精品久久一区| 精品系列免费在线观看| 亚洲一级生活片| 精品伦理精品一区| 久草免费在线视频| 欧美裸体网站| 久久福利视频一区二区| 欧美日韩偷拍视频| 亚洲а∨天堂久久精品喷水| 日韩影院在线| 亚洲精品在线视频观看| 国产一区二区伦理| 国产一级做a爰片在线看免费| 亚洲国产精品成人av| 日本欧美日韩| 青草全福视在线| 成人动漫视频在线| jizz国产在线| 欧美日本黄视频| 九九亚洲精品| 欧美一级免费在线| 黄色成人在线播放| av在线资源站| 国产二区一区| 麻豆一区二区三| 欧美日韩中文视频| 在线性视频日韩欧美| 亚洲一区二区三区免费| 黄色片视频在线播放| 国产精品成人免费在线| 熟妇高潮一区二区高潮| 国产精品永久免费视频| 在线日韩欧美| 2017亚洲天堂| 亚洲精品国产精品国自产在线 | 国产伦精品一区二区三区免费视频 | 欧美在线观看一区二区三区| 国产精品传媒精东影业在线| 亚洲国产精品无码久久久久高潮 | 日韩av色综合| 欧美日本二区| xxxxx99| 亚洲精品国产精品自产a区红杏吧|