剛進入現在的公司,接手了一個遺留的項目,BUG頻出,最近一個星期都在加班改BUG,身心疲憊,為了 現在,將來不會再被相同BUG困擾,特來紀錄一下。
1.數據庫設計字段時,對于int等類型最好設置默認值,在C#做類型轉換時一定要做是否為null的判斷,這是當前項目經常遇到的問題,改得都要吐血了。
2.代碼更新到服務器 只上傳dll了文件時,如果本地不報錯,而服務器上報錯了,那就首先把頁面文件也上傳試一試。
3.上傳代碼到服務器時,千萬別把.cs文件上傳。如果上傳了.cs文件 程序運行時就直接執行 上傳的.cs文件的代碼,而不是執行bin目錄下dll的代碼。所以如果發現修改程序并上傳dll后完全沒變化,這時就可以考慮到服務器上看看 修改后的文件目錄中是否有.cs文件。這個問題可是困擾了我一個下午+半個晚上。我也是無意中發現服務器上居然有.cs文件后, 刪除后程序OK。
4. 用 ckeditor + ckfinder 時,測試反應說不能 瀏覽服務器圖片,點擊瀏覽服務器圖片按鈕完全是空白的,調試了一下,發現頁面有返回數據,只是加了CSS隱藏屬性,而且頁面混亂,各種搜索,各種配置后無果。到官網下載了最新版本。簡單配置后OK。
5.當調試程序時,點擊一個按鈕,如果始終無法執行到設置的斷點時,F11單步調試是個不錯的選擇。
6.測試反應,添加到后臺的數據,都無法顯示,對于業務不太熟悉的我,只能在程序中一步一步看代碼,效率緩慢,各種催促,壓力山大,讓人頭疼。對于這種問題,直接打開SQL事件探查器,找到對于SQL, 執行SQL。SQL沒有報錯的話,則分析SLQ語句,最后發現是測試數據中:選擇商品上架的時間段時 ,已經是過期的時間段,當然也就不會有數據。
7.項目中有導出Excel功能,而且一直是報錯的,導出功能是用的第3方組件,同事感覺可能是第3方組件哪里出了問題,但是又看不到源碼,這個BUG就一直在這里。但這個問題的實際原因是,服務器上的文件夾沒有寫入權限導致的。把文件添加權限后OK了。 關于文件操作失敗,最好先看看是否有權限。
8. 后臺查看購物車信息的時候,購買人名稱有部分是正確的,部分又是錯誤的。經過調試發現并非查詢的問題,而是插入時就有問題了。找到插入的代碼塊時 ,插入的用戶名是從session中取出來的, 這段代碼塊還有部分注釋,說是如果session不能取出來就取 計算機主機名,到此就知道為什么有部分是正確的,而有部分是錯誤的了。這個是因為取不到session中的用戶名, 程序報錯 所以才加的判斷, 但這里很明顯是個BUG,為什么會取不到用戶名呢?用戶信息被寫入session的話就是登錄成功后,馬上就去查看登錄代碼塊,但是這里已經寫入了session并沒有錯,還有一個地方那就是注冊了,果然注冊成功后沒有 把用戶名寫入session。修改后OK。這個寫入session的模塊并沒有封裝成一個方法調用,而是 登錄和注冊分別 寫用戶信息到session,這樣如果粗心的話就會出現BUG了。
新聞熱點
疑難解答