乙個折騰了我差不多三天的BUG引發的反省

2021-06-18 19:59:57 字數 1103 閱讀 5633

(專案是跟別的公司合作的,目標系統是wince)

這周剛開始,就在bug管理器中收到兩個bug,其中乙個在我不懈努力的輸出日誌中發現不是自己這邊問題,是合作公司的,就放過了。接下來這個讓我悲催日子開始了。

該問題是關於雷達的,我們這邊是用別人的雷達,自己這邊微控制器做些處理之後發給軟體,我是軟體這塊的。

問題描述:

軟體啟動後,裝置連線好之後時不時的播報語音。(正確的應該是連線了只播報一次,除非拔掉了再連線)

問題解決步驟:

由於關於這塊**是之前乙個同事寫的(現在走了),一大堆沒有注釋的資料以及從頭到尾看不到注釋的**,使得我一開始就定位錯誤,大概知道了下**實現,然後看了下協議,然後就輸出日誌檔案看資料(俺的破電腦不能聯機除錯,windows同步軟體裝了也無效,所以只能執行一次之後看日誌檔案)。看了第一次輸出之後,發現資料跟協議裡對不上,又輸出幾次,都不怎麼對,再想想,之前**使用也是發過版本的了,所以一廂情願的認為是資料發錯了,為了這個找別的公司工程師,最後那邊說了很久說裝置是好的之後直接來了句找微控制器。

可能是潛意識認定了,加上之前有資料做證明,心裡對這個問題不怎麼重視,覺得是別人的問題,自己就隨便找了下人。可是別人也會認為是軟體問題,所以拖了一天,後面由於專案緊急,有點壓力,就開始正式看待這個問題,把老版的,新版的,以及基礎版的相關**都看了之後,越來越迷糊,感覺是軟體問題又說服自己說好像不是,然後到處借零件,機器,打算正式檢視下從裝置過來的資料跟軟體接收的資料是否一樣(這裡用另外一台機器)。終於看到資料是一樣的,而且都是正確的。突然醒悟,機器問題?這樣東弄下西弄下又過一天。害的我一度認為這個bug我是無法解決的了,然後吃不好,睡不好。

放進程式,用好的機器試,發現還是存在這個問題,經過前面兩天,我深刻意識到,我走錯了,應該靜下心來,仔細查詢原因,不能因為**之前出過版本就認為是對的,也不能因為沒有注釋就不好好看**。然後我仔細列舉了軟體出錯的原因,我要查證的方向之後,抱著一台好的機器開始了我的日誌輸出,乙個上午,我一直在修改,替換程式,執行,看輸出檔案,中間有煩的時候,就去接水走走,然後回來繼續。然後,上午過了,**全明白了,資料也清楚了,問題也知道了。

最後,問題修改,又是一頓猛測。這讓我感慨萬千,如果,一開始我有這樣的心態,可以用半天時間而不是好幾天。

總結:沒有改不好的bug,只有想不想改。心態問題吖

困擾了我一天的BUG,哎!

開始學習opengl的紋理對映,開始基本照著教程默寫一遍 執行,沒結果 後又對了對紋理的設定那塊,都一樣啊,咋就出不來紋理呢。後來才發現,原來是我設定了 但卻沒有給自己的紋理資料建立mipmap,這樣上面的語句就會失敗,而此函式並不返回任何值,沒法排錯。要想讓上述語句有效,需建立自己的mipmap,...

乙個系統中斷號讓我鬱悶了三天!

後來,我檢視之前的乙個驅動的deinit函式,發現它裡面不但把系統中斷給disable了,而且還呼叫kernelioctl將這個系統中斷給釋放了,看到這個釋放,我一下子頓悟了 是我忘記釋放系統中斷號了。我只是在deinit的時候把系統中斷給disable了,但是這個系統中斷還存在於系統中,而inte...

乙個Refresh()指令解決了困擾了我2天的問題

用gdi 通過資料的 配置自動生成拓撲圖,由於對c gdi 開發缺少經驗,只能嘗試各種函式的實際效果和自己之前做vc 與vb一些經驗。之前主要問題是,設定了自動繪製控制項picturebox布局和自動按照控制項間位置生成連線。其中生成自動連線的函式,利用了參考來的例子,使用 graphics g t...