[請益] 難以偵錯的問題

看板Soft_Job作者 (秋雨的心情)時間13年前 (2012/06/02 16:28), 編輯推噓2(2015)
留言17則, 9人參與, 最新討論串1/5 (看更多)
本文先發在java板, 不過回應不多, 所以轉發本版希望能夠找到比較多指導. 有違反板規請推文或站內信, 看到會馬上刪. 這個問題我們自己也很難重現, 都是user回報之後觀察到. 所以任何方法包括怎麼去測試找問題都歡迎指導. --------------------------------- 目前碰到一個棘手的問題. 查詢出來的資料, 轉化為物件呈現在頁面上時, 會有部分loss的狀況. 例如銷售系統的建立訂單畫面, 可以在欄位內輸入統編, 元件用統編查出廠商詳細資料後再帶到前端自動填入其餘欄位. 例如廠商名稱/ 地址/ 票期.... 但是在極少的狀況下, 會發生帶到前端的資料loss(損毀), 例如廠商名稱: ABC公司, 呈現在頁面上變成AB, 後面的字都不見了. user按下儲存後, 就會寫入錯誤的資料, 連帶影響後續功能. 頁面已經有檢核必填且不可輸入只能用點選帶值. 發生率約幾百分之一, 數百列訂單資料錯一筆. 除此之外在企業邏輯計算方面也有這種狀況, facade帶起service, 訂單檔儲存後要再計算以及寫入相關table. 例如訂單儲存簽核完成, 要連動計算最新的存貨狀況以及自動產生帳務資料與發票, 並寫入存貨table/ 會計table. 但可能有跑存貨facade, 卻沒有跑會計facade, 導致會計table都沒寫入. 邏輯確定會跑到. 將資料複製進去測試機再跑一次也會跑到會計facade, 但正式機的確就沒寫入會計table. 發生率也不高, 幾百次錯一次. 一些要查table的下拉選單也有這種狀況. 測試機都能正確查出abc三個選項, 但正式機只有ab兩個選項, 重開機才完整顯示abc選項. 雖然發生率低, 但這類狀況我們完全無法對user解釋, 很困擾. 想請問這樣的問題可能出在哪一個環節? 有可能是元件問題嗎? 要用什麼關鍵字google? 程式本身可以用什麼方法來查? 使用的元件大致如下 AP server: weblogic 本機: tomcat ORM: eclipselink 1.2.0 hibernate VIEW: jsf 1.2_14-b01-FCS json-lib 2.3 trinidad 1.2.14 velocity 1.5 frame work: spring 2.5.6 _SEC02 spring batch 2.0.4 spring security 2.0.4 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.134.132.140

06/02 17:32, , 1F
WebLogic的JVM多大???要不要監控一下看看
06/02 17:32, 1F

06/02 17:56, , 2F
偵錯不外乎是"讓問題重現"→"縮小偵錯範圍"~幾百次出現一
06/02 17:56, 2F

06/02 17:58, , 3F
次~那是否那次的資料和邏輯有問題?如果不是~那是否執行到
06/02 17:58, 3F

06/02 17:59, , 4F
某個次數就會出現?總之~要找出問題~首先要能穩定的讓問題
06/02 17:59, 4F

06/02 18:00, , 5F
重現~如果不能穩定重現~那真的是只能靠經驗老道的人去觀落
06/02 18:00, 5F

06/02 18:02, , 6F
陰了...對了~基本上問題這樣問~得到解答是運氣好~畢竟連程
06/02 18:02, 6F

06/02 18:06, , 7F
式架構、寫法、內容都不知道~是要怎麼找問題?
06/02 18:06, 7F

06/02 18:35, , 8F
用log4j把每個步驟dump出來觀察
06/02 18:35, 8F

06/02 18:38, , 9F
table部份寫入,代表transaction就有問題了
06/02 18:38, 9F

06/02 18:41, , 10F
資料消失,是不是有人把exception吃掉了..隨便猜猜,無限可能
06/02 18:41, 10F

06/02 19:00, , 11F
有可能是session互蓋的問題嗎!?
06/02 19:00, 11F
最麻煩的一點是, 下拉選單帶值, 出現的值有毀損的這類狀況, 多拉第二次第三次就會正常帶出值. 因為是簡單查table做出下拉選單, 所以實在想不出怎樣能造成這種狀況 ※ 編輯: atpx 來自: 220.134.132.140 (06/02 20:28)

06/02 21:27, , 12F
再怎麼簡單的範例都可能出問題啊~還是先想辦法縮小範圍吧
06/02 21:27, 12F

06/02 21:54, , 13F
偉大的中文? 查一下有無"\"這類 control character.
06/02 21:54, 13F

06/02 23:15, , 14F
wow, 偉大囉 套一堆framework, 有得你查囉
06/02 23:15, 14F

06/02 23:17, , 15F
最簡單的方式, 一個一個framework 來替換版本看看吧
06/02 23:17, 15F

06/04 10:11, , 16F
看看是否帶出來的的資料有部分用到JAVASRIPT的關鍵字 如'
06/04 10:11, 16F

06/04 13:31, , 17F
遇過類似的問題,我後來在filter那邊把沒用的conn殺光
06/04 13:31, 17F
文章代碼(AID): #1FoSwYcA (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1FoSwYcA (Soft_Job)