2010-10-22 77 views
1

我試圖修復我們豐富的GUI Web應用程序中長期存在的錯誤。它是一個不帶查詢字符串參數的地方執行的GET,由於缺少參數而在服務器上的業務層上導致未捕獲的異常,作爲錯誤頁面返回。Web調試:跟蹤GET源

環境:jQuery的(UI)+ DWR(允許Java和JS通過AJAX調用對方)+春/ Spring MVC的

瀏覽器:IE8,FF3.6,鉻6 @ WinXP的

我當前工具:Chrome檢查器,Firebug,HttpFox(FF嗅探器擴展,用於查明不良請求)

試圖縮短它,我無法找到哪一段代碼執行GET,可能是因爲它被註冊爲一個事件(如模糊,卸載等)或者是DWR的異步事件,也許。整個UI基於DWR(AJAX)調用構建,因此可能會有錯誤的調用。我嘗試搜索方法名稱,函數指針,在jQuery上註冊的事件,DWR接口調用,使用Firebug跟蹤JS堆棧...沒有好處。

我最後的努力是尋找一些工具,可以找到哪一段代碼執行POST/GETs或類似的東西......我一直在黑暗中拍攝,因爲我用完了想法。

所以,我想知道任何建議的工具或任何技術可以用來找到隱藏的GET。任何幫助表示讚賞。

謝謝!

+0

請求中的其他細節如何?有沒有可以搜索的參數名稱?如果是我,我會拆開請求URL並在整個應用程序中搜索該字符串。最終,你會找到它。 – treeface 2010-10-22 22:06:08

+0

(兩個)參數是識別我將在頁面中處理的數據集的參數。它們在任何地方都可以使用,但由於請求不會發送這些參數,所以我不認爲我會以這種方式找到不好的請求,因爲它不會使用它們。 – mdrg 2010-10-23 02:37:30

回答

0

如果可用,請檢查您的Web服務器日誌。確定其中一個不好的GET,並且該行還應該包含referrer。

這應該至少告訴你哪個頁面或哪些頁面負責調用,這應該有望縮小範圍。

+0

感謝您的回覆。我可以看到使用HttpFox的引用者。這是相同的(巨大的)頁面,同樣它被請求沒有查詢字符串參數。加載後,所有進一步的更新都是異步(AJAX),直到用戶離開頁面。 – mdrg 2010-10-23 02:34:02

+0

那麼,我得到了罪魁禍首。動態生成的通過jQuery創建的'表單'標籤,沒有動作屬性,默認爲當前頁面。這些標籤僅僅是因爲jQuery驗證需要它們,但有時它們被意外提交,產生錯誤。感謝您的回覆,我必須仔細檢查頁面才能找到它。 – mdrg 2010-10-26 15:24:18