當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > 嵌入式微處理器
[導(dǎo)讀]“你肩上扛了20萬(wàn)行代碼,搞得定不?”這是我剛進(jìn)華為時(shí)聽(tīng)到最多的一句話。


20萬(wàn)行代碼,搞得定不?


“你肩上扛了20萬(wàn)行代碼,搞得定不?”這是我剛進(jìn)華為時(shí)聽(tīng)到最多的一句話。


2008年9月新員工培訓(xùn)完,我沒(méi)有回西安,而是直接飛到上海承接產(chǎn)品。剛進(jìn)上海項(xiàng)目組,就受到了熱情的接待。


“這次西安來(lái)了多少人承接我們模塊?”上海X模塊的PL問(wèn)我。


我愣愣地指了指自己:“就我一個(gè)”。


“什么,就你一個(gè)?我們組有20萬(wàn)行代碼,趕緊反饋再加人。?


其實(shí),剛出校園的我對(duì)20萬(wàn)行代碼并沒(méi)有太多概念,但是看到他的反應(yīng),頓感不妙。我趕緊找到在其他項(xiàng)目組承接產(chǎn)品的西安PL,卻得到了安慰,“沒(méi)有想象的那么嚴(yán)重,你那塊業(yè)務(wù)我也知道一些,我給你分析看。X模塊代碼邏輯比較簡(jiǎn)單,Y模塊基本不出問(wèn)題可以暫時(shí)不學(xué),這樣……這樣……你只要集中把這幾個(gè)模塊搞定就行了。?


加人是不可能的,于是我的培養(yǎng)計(jì)劃也相應(yīng)有了變化。入職前兩個(gè)月,我每天的任務(wù)就是讀代碼,下班前半小時(shí)給全組講解。而同期其他新員工在入職一個(gè)月時(shí)已經(jīng)開(kāi)始處理問(wèn)題單和開(kāi)發(fā)需求了。第三個(gè)月中期答辯時(shí),其他人的膠片上呈現(xiàn)的都是“處理了XX個(gè)問(wèn)題單,開(kāi)發(fā)了XK代碼的需求”,而我的膠片都是模塊的代碼功能介紹。


學(xué)習(xí)期結(jié)束后,20萬(wàn)行代碼的威力很快得以體現(xiàn)。為了讓我快速熟悉業(yè)務(wù),項(xiàng)目組把活最雜的接口人工作安排給了我,負(fù)責(zé)所有的網(wǎng)上問(wèn)題、實(shí)驗(yàn)室問(wèn)題定位以及幾個(gè)高風(fēng)險(xiǎn)模塊的問(wèn)題單修改。很快,我就淹沒(méi)在電話和郵件的海洋里,焦頭爛額。


“問(wèn)題定位沒(méi)?郵件都發(fā)好幾個(gè)小時(shí)了,環(huán)境不保留了。


“這個(gè)問(wèn)題我分析應(yīng)該是你們模塊的問(wèn)題,快看下,下班前沒(méi)結(jié)論我就轉(zhuǎn)單了。


“怎么回事,你名下問(wèn)題單怎么不見(jiàn)少,版本都快過(guò)不了點(diǎn)了。


……


是的,我成了各個(gè)組的“焦點(diǎn)”,同時(shí)也開(kāi)始變得焦慮,雖然每天凌晨才回公寓,依然無(wú)法阻止上竄的DI值(問(wèn)題密度),這下該如何是好?


很快,導(dǎo)師和PL注意到了我的窘境,伸出了援助之手。看現(xiàn)象,找原因,和我一起分析現(xiàn)狀,一件一件分析手頭的事務(wù),傳授四象限工作心得,把眼前的事務(wù)按照四象限法則排好優(yōu)先級(jí),再一一擊破,慢慢堅(jiān)持一段時(shí)間后,我終于開(kāi)始變得從容起來(lái)。



就是為了晚上能睡安穩(wěn)覺(jué)


轉(zhuǎn)正之后,我很快就遇到了第一個(gè)網(wǎng)上問(wèn)題,并且經(jīng)歷了一次深刻bug修復(fù)過(guò)程。依稀記得那是周日,凌晨?jī)牲c(diǎn),電話響起時(shí)我感覺(jué)像是剛躺下就被叫醒。

“我是在一線支撐的測(cè)試經(jīng)理,新版本升級(jí)報(bào)錯(cuò)了,需要馬上解決!


“好的,什么情況?先嘗試做下這幾步恢復(fù)操作,再收集下日志,我馬上去公司。”一聽(tīng)是現(xiàn)網(wǎng)的問(wèn)題,本來(lái)一臉迷糊的我瞬間清醒,這可容不得半點(diǎn)馬虎。快速穿好衣服,打車直奔公司。


還好,問(wèn)題很快定位,之前現(xiàn)網(wǎng)的服務(wù)器出現(xiàn)過(guò)網(wǎng)卡故障,客戶把服務(wù)器拆封,兩塊網(wǎng)卡拔出來(lái)擦拭金手指,插進(jìn)去的時(shí)候交換了插槽位置,導(dǎo)致網(wǎng)卡的PCI總線編號(hào)發(fā)生變化。為了防止客戶私裝其他網(wǎng)卡,引起兼容性問(wèn)題,新版本代碼做了強(qiáng)制校驗(yàn),但對(duì)于這種更換網(wǎng)卡位置的場(chǎng)景,卻沒(méi)有考慮到。


“這誰(shuí)設(shè)計(jì)的功能,畫蛇添足!老版本都沒(méi)問(wèn)題,這是致命bug,我要求必須回溯!”雖然功能不是我開(kāi)發(fā)的,但聽(tīng)到電話另一端的措辭嚴(yán)厲,也感覺(jué)像犯了大錯(cuò),不敢吱聲。這次的經(jīng)歷,讓我再后續(xù)很長(zhǎng)一段時(shí)間,一接到網(wǎng)上問(wèn)題電話就非常緊張。


網(wǎng)上問(wèn)題引起的風(fēng)波還沒(méi)過(guò)去,修改這個(gè)網(wǎng)上問(wèn)題的任務(wù)就落到我頭上,沒(méi)有想到的是這次修改也不順利。代碼很快就修改完了,但是驗(yàn)證時(shí)遇到一個(gè)問(wèn)題。由于老型號(hào)服務(wù)器存量并不多并且前幾年已停止發(fā)貨,三種老型號(hào)服務(wù)器,實(shí)驗(yàn)室只有一臺(tái)了,其他兩種類型的服務(wù)器沒(méi)有辦法驗(yàn)證,怎么辦?


“代碼判斷的就是這幾個(gè)信息,你可以通過(guò)模擬打樁,之前我都是這么測(cè)的”,在老員工的指導(dǎo)下,我很快完成了打樁測(cè)試,但心里總有點(diǎn)不踏實(shí)。


結(jié)果在版本內(nèi)部轉(zhuǎn)測(cè)試前的預(yù)驗(yàn)證環(huán)節(jié),兄弟項(xiàng)目組的同事找到了我,他們的一臺(tái)服務(wù)器裝上新版本后運(yùn)行不起來(lái)。我心里“咯噔”一下,不會(huì)是那兩種沒(méi)有驗(yàn)證的服務(wù)器吧?果然,經(jīng)過(guò)實(shí)機(jī)分析,發(fā)現(xiàn)我用的打樁模擬方法和真實(shí)的硬件還是有差異。


對(duì)于這次的修改引入,PL特地過(guò)來(lái)輔導(dǎo):“這次主要是你經(jīng)驗(yàn)不足,不要太放在心上。不過(guò)我們也要好好想想,遇到困難,是不是盡全力了。”再次修改時(shí),還是有一種類型的服務(wù)器沒(méi)找到,感覺(jué)真的沒(méi)辦法了。


一大早我只好再求助導(dǎo)師和PL,幾小時(shí)后,PL過(guò)來(lái)對(duì)我說(shuō):“我已經(jīng)給周邊幾個(gè)部門打過(guò)電話了,有幾臺(tái)服務(wù)器可能是我們要找的,我?guī)闳ゴ_認(rèn)下。


又經(jīng)過(guò)幾個(gè)小時(shí),我們終于在一個(gè)實(shí)驗(yàn)室的角落找到了一臺(tái)落滿灰塵的服務(wù)器。拍拍灰塵,一看,好家伙,這不正是我們要找的么!找電源,接線,上電,安裝版本……看到版本軟件順利啟動(dòng),心里懸了很久的大石頭總算落地了。

“好,我們?cè)侔呀粨Q網(wǎng)卡順序的場(chǎng)景覆蓋下。”然而折騰了半天,網(wǎng)卡還是沒(méi)拔下來(lái)。原來(lái)這個(gè)型號(hào)的服務(wù)器硬件設(shè)計(jì)上也做了防呆,卸網(wǎng)卡需要專用的小工具。


半個(gè)小時(shí)后,網(wǎng)卡終于拔了下來(lái),PL手上不小心被劃了口子,鮮血直流,他卻蠻不在意:“為了晚上能睡個(gè)安穩(wěn)覺(jué),這點(diǎn)小傷,值了!


后來(lái)每當(dāng)看到“打造質(zhì)量口碑,構(gòu)筑質(zhì)量文化的教堂”時(shí),我想說(shuō)我們的質(zhì)量追求真的很簡(jiǎn)單,就是為了晚上能睡安穩(wěn)覺(jué)。



沒(méi)有定位不了的問(wèn)題


“Hello,sir……”下班剛出公司,我就接到了一個(gè)老外的電話。豎起耳朵再加上熟練的“sorry”“pardon”,才終于搞清楚了,原來(lái)是之前在espace上交流過(guò)的印度一線小伙,馬上要去客戶機(jī)房操作了,還有兩個(gè)操作步驟不太清楚。


從來(lái)沒(méi)跟老外通過(guò)電話的我,一時(shí)語(yǔ)塞,面紅耳赤,嘴巴幾次想張但就是張不開(kāi),到嘴邊的單詞,就是說(shuō)不出來(lái)。


對(duì)方還在時(shí)不時(shí)的“hello? hello?”以為我不在線。哎,平時(shí)都是由GTAC的兄弟幫忙溝通,這下沒(méi)人幫忙了,這可如何是好……不管了,管他語(yǔ)法怎樣,突然,一句“yes”蹦出了口,慢慢地,一個(gè)單詞、一個(gè)單詞地蹦出,雖然磕磕巴巴,但總算可以用英語(yǔ)交流了。


我在電話了說(shuō)了一通,反復(fù)確認(rèn)對(duì)方了解了我的意思后,才放下電話。一看手心緊張得都是汗。好在總算交流完了,頓感身心舒暢了許多。


就這樣,入職兩三年后,一切逐漸步入正軌,不管是遇到什么難題,我似乎都可以從容應(yīng)對(duì)了。


不過(guò),現(xiàn)網(wǎng)出現(xiàn)的兩三起未定位的Linux系統(tǒng)掛死問(wèn)題,一直是大伙兒籠罩在頭頂?shù)臑踉啤?/span>由于使用的Linux是幾年前外購(gòu)的版本,一直未升級(jí),維測(cè)功能比較弱。而我們作為業(yè)務(wù)軟件團(tuán)隊(duì),也不具備定位這種疑難問(wèn)題的經(jīng)驗(yàn),求助公司的Linux團(tuán)隊(duì)后,仍無(wú)法定位,只能以老舊Linux系統(tǒng)問(wèn)題進(jìn)行了答復(fù)。


沒(méi)想到,不久,在一個(gè)大T局點(diǎn)又出現(xiàn)了這個(gè)問(wèn)題。沒(méi)辦法,我們只能再次求助OS、硬件相關(guān)人員,快速組建了攻關(guān)團(tuán)隊(duì)。由于缺少日志,大家從軟件硬件各種角度進(jìn)行大膽猜測(cè),然后在實(shí)驗(yàn)室進(jìn)行故障注入測(cè)試,持續(xù)了一個(gè)月后,實(shí)驗(yàn)室連問(wèn)題都沒(méi)有復(fù)現(xiàn),更談不上定位,所有人都很沮喪。好在新版本軟件已經(jīng)合入了掛死時(shí)自動(dòng)復(fù)位的自愈功能,問(wèn)題影響可以將到最低。一線也接受了自愈方案。第一次的集中攻關(guān)就這樣心有不甘地以失敗告終。


出來(lái)混,遲早要還的。問(wèn)題攻關(guān)永遠(yuǎn)不會(huì)缺席,只是來(lái)得晚而已。大半年后,中國(guó)區(qū)的一起Linux掛死問(wèn)題拉開(kāi)第二次攻關(guān)序幕。由于是晚上出的問(wèn)題,一線還沒(méi)來(lái)得及處理,我們請(qǐng)求一線保留環(huán)境,立刻協(xié)調(diào)了公司Linux和硬件的專家馬上出差到現(xiàn)場(chǎng)定位。


“這次抓到第一現(xiàn)場(chǎng),總算能定位了。”我心里想。可惜從一線并沒(méi)有傳回好消息,只是進(jìn)一步確認(rèn),確實(shí)是Linux系統(tǒng)掛死了,原因還是不知道。一時(shí),又陷入僵局。


但是攻關(guān)不能因此停滯。我們?cè)俅戊o下心來(lái),繼續(xù)分析日志,看代碼,分析這幾個(gè)問(wèn)題找共同點(diǎn),很快發(fā)現(xiàn)這幾個(gè)問(wèn)題涉及的設(shè)備都是在運(yùn)行了快一年左右時(shí)出現(xiàn)了問(wèn)題。莫非與單板的運(yùn)行時(shí)長(zhǎng)有關(guān)系?累積效應(yīng)的故障模式?大家很快調(diào)整了攻關(guān)方向。不久,就找到一篇關(guān)于Linux內(nèi)核內(nèi)存泄露的案例,經(jīng)過(guò)計(jì)算,在我們的單板上正好在一年左右Linux系統(tǒng)一些關(guān)鍵內(nèi)存就會(huì)耗盡,出現(xiàn)系統(tǒng)掛死。真是踏破鐵鞋無(wú)覓處,得來(lái)全不費(fèi)工夫。


后續(xù)我參與甚至主導(dǎo)過(guò)多起耗時(shí)長(zhǎng)久、艱苦卓絕的疑難問(wèn)題攻關(guān),Linux系統(tǒng)掛死攻關(guān)在這些問(wèn)題中不是影響最大和最緊急,但卻讓我受益最多。經(jīng)歷過(guò)這次攻關(guān)后,面對(duì)任何疑難問(wèn)題,我心中都有一個(gè)信念:在我司,從來(lái)沒(méi)有搞不定的事,也從來(lái)沒(méi)有定位不了的問(wèn)題!


2014年到2017年,由于工作調(diào)整,我轉(zhuǎn)戰(zhàn)產(chǎn)品開(kāi)發(fā),暫時(shí)離開(kāi)了網(wǎng)上問(wèn)題處理。2018年我又重新回歸。


又是一次半夜緊急電話,我急匆匆趕到GTAC的攻關(guān)室處理緊急問(wèn)題,一進(jìn)門,又見(jiàn)到以前的幾位老伙計(jì):“看見(jiàn)你來(lái)我就放心了”。這句話一時(shí)間又讓我渾身充滿了力量!


嵌入式ARM

掃描二維碼,關(guān)注更多精彩內(nèi)容

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉