工作中我們會遇到形形色色的bug,但是很多bug都可以調試很明顯的看出來,這種bug解決起來我們不會那么頭疼但是有些卻讓人頭疼而捉急,特別是本地運行一切正常,上傳服務器就會出現bug?,F在我總結幾個我工作遇到的問題以及解決辦法
1:有一次我為別的部門寫一個服務接口,本地運行一切正常,但是到服務器就是報一個異常。
解決過程1:在本地先發布然后配置IIS,一切正常。然后把生成的bin文件替換服務器上的bin文件,依然異常
解決過程2:然后在代碼中加入日志,但是日志竟然什么都沒有。真實見鬼,最后沒辦法找人商量還是沒發現。
最終解決方案:把代碼全部考到服務器然后進行調試最后發現內存不足。當然這種情況很少見的,如果出現確實很難找,有的時候在服務器放套代碼我覺得還是有必要的。
2:一次我要往數據庫添加一條數據,首先判斷數據庫是否存在然后添加數據,但是發現總是報已存在數據,我從數據庫查詢確實沒有這條數據,我就納悶怎么了,出鬼了嗎,然后我又換種方法去看是否存在,但是查詢還是存在,覺得很詭異
最終解決方案:原來我數據庫連接錯了,因為我們項目中連了很多庫,里面很多服務,導致配置文件中還有兩個連接庫沒改過來。所以在工作中如果發現數據庫查詢和代碼中查詢不一致的時候第一個要想到是否庫連接不對
3:一次我發現我服務器上兩個地方調用同樣的方法但是返回結果不一樣。用vs調試也沒發現什么異常(其中一個是提供給別的部門調用的數據)
最終解決方案:最后發現提供給別人調用的接口配置文件中服務地址和自己項目配置文件不同。在工作中如果發現調用同一個方法返回結果不同,查詢一下這兩個地方調用服務是否一樣。
4:一次我們調用一個服務,此服務專門解析打開一篇pdf文獻的。但是剛剛10分鐘之前還能打開的文獻突然全部不能打開,正趕上項目要上線,部門一半以上的人都在解決這個問題,因為這個服務還需要調用別的好幾個服務,然后一個個排除,最后都排除不是那幾個服務出錯,一群人整整找了5個小時都沒解決。
最后解決方案:第二天我們老大偶然的發現這個服務隊少了一個/ 我們的地址一般都是<http://192.168.000.000/index.aspx/ />紅色是我們缺少了,真實令人吐血。所以工作中如果發現調用的服務前幾分鐘還可以打開,然后就打不開了,一定仔細對比兩個服務
5:這是我們部門遇到一個非常難得bug整個部門一起找問題凌晨2點才發現錯誤。同樣我們部署一個項目在服務器上,但是服務器打開就是白頁面,我們打開的日志里跟蹤發現說我們傳輸的uid為空,拋出異常,但是這個uid根本就不可能為空,因為鏈接傳輸的就有。大家查詢服務,查詢是否配置出問題了。
最后解決方案:由于權限不足,當去讀cookie的時候沒有權限導致讀取的數值為空拋出異常。所以工作中一定要考慮服務器上的權限上問題,必須給予超級管理員權限,否則出現了問題及其難找,還有當我們注冊組件的時候記得要用超級管理員身份,否則有時候就是注冊不成功。
6:在工作我們大多都是和別人合作一個項目,這個估計大家都不喜歡,因為如果一個人那里停滯了就會導致項目不前,我個人認為和別人合作的時候一定要靜下心來,不要總是抱怨,不停的說又是你的錯,如果遇到錯誤大家一起克服,一起商量然后自己也能學習很多東西。
7:正式項目中記得加入日志,否則出了錯誤很難找,有了日志就讓我們找錯誤簡單了很多。我個人覺得日志是蠻重要的。
新聞熱點
疑難解答