在我的工作場所有這個簽到程序,它只從檢入機器獲取數據並將其存儲在我們的數據庫中,但在週四突然出現錯誤報告,但只有一次在一天的隨機時間,所以當我檢測到錯誤時,我運行該程序但沒有任何反應,所以我想每5-10分鐘調試一次,看看是否發現了錯誤,看看發生了什麼,我怎麼能做這個?如何安排調試?
Q
如何安排調試?
1
A
回答
2
伐木是你的朋友。添加大量日誌記錄(使用內置的跟蹤日誌記錄或使用某些框架,如log4net)。使用不同的日誌級別來控制你輸出多少日誌。在詳細級別中,您可以在進入和退出重要方法時進行日誌記錄,記錄輸入參數和返回值。登錄catch塊等。然後在報告下一個錯誤之後分析日誌文件。
2
0
的幾點思考:
檢查服務器的事件日誌,看看是否有任何崩潰小型轉儲你可以拉出來。這些可以告訴你很多有關程序崩潰時發生的事情(調用堆棧等)。
或者編寫一個包裝程序,它可以運行你的程序並檢測它何時失敗,然後在此刻拍攝服務器狀態的快照,這樣你可以(希望)用必要的數據重新執行任務以獲得可重複的在調試器中崩潰。
或者只是添加日誌記錄負載。您可以使用PostSharp添加跟蹤,該跟蹤會告訴您進入和退出的每種方法,以便您可以輕鬆確定哪種方法在失敗時正在運行。
而且你可以添加robustification代碼。檢查是否存在空值等問題,並且您可能會發現您已經糾正了問題,而不必知道哪個修復程序修復了它。
如果程序不是太大,只是老式和桌面檢查(閱讀打印輸出)的代碼可能會出現一些錯誤。
另一種方法(獲得更多實驗)可能是修改程序不斷運行,以便您可以將其保存在調試器中,並保留它直到遇到異常。 (運行一個循環,等待觸發器文件被刷新或者其他東西,然後啓動正常的進程 - 約5行代碼可能就足夠了)
相關問題
- 1. 如何阻止Visual Studio在調試時重新安排其Windows?
- 2. 如何安排測試沒有TFS
- 3. 如何調試cuke4duke使用Ant和安裝遠程調試器
- 4. 如何安裝AOSP的調試版本?
- 5. 如何調試維克斯安裝
- 6. 如何調試在MSI /安裝項目
- 7. 如何安裝調試器腳本
- 8. Php - Ingres,全新安裝:如何調試?
- 9. 如何調試https安裝程序?
- 10. 如何設置安卓調試的假
- 11. 如何安裝調試器展示臺?
- 12. 如何安裝django調試工具欄?
- 13. 如何調試izpack安裝程序?
- 14. 如何安裝源調試JSP與Eclipse
- 15. 如何安排測試並存儲測試報告?
- 16. goroutines如何安排?
- 17. Android:如何安排?
- 18. 安排速度測試
- 19. 試圖安排升序C#
- 20. 合併()試圖安排列
- 21. VSCode:PHP調試安裝
- 22. 安排調用方法?
- 23. 如何並排安排多個NSView?
- 24. android - 如何安排兩個textview並排
- 25. 如何調試
- 26. 如何安排VB功能?
- 27. 如何安排在Android
- 28. 如何安排C#項目?
- 29. 如何安排CSS代碼
- 30. WPF MVVM - 如何安排ViewModels
我將google用於log4net,謝謝! – Luiscencio 2009-10-15 19:16:57