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