2010-06-30 66 views
3

我有一個項目,我需要修復這個程序,它有非常不確定的崩潰傾向。這部分軟件執行大量的計算和數據庫調用,並且可能有很高的負載,這意味着很多客戶端。調試多個exe程序

這是一個非常關鍵的組件,沒有它沒有任何作品。它需要長時間執行並且能夠在沒有用戶交互的情況下運行。

它實際上是一個本地的C++/ATL項目,用於COM的兩個可執行文件之間的通信。

我花了很多時間研究代碼,尋找明顯的代碼缺陷,比如不鎖定共享變量(顯而易見的),異常處理程序,它們不會對異常做任何事情,除此之外'return false',即使這可能是一個重要的例外。

但是我想知道是否有人在處理這樣一個項目方面有一些技巧,很多人實際上已經試圖解決問題並失敗了,現在你已經接受了挑戰並且不想要失敗。

我準備好去解決這個問題了,但是我需要一些指導來說明如何以良好的方式去解決這個問題?

我的想法是首先建立一個測試環境,並希望收集儘可能多的有關發生崩潰的信息,然後通過日誌記錄,堆棧跟蹤等找到崩潰點。這可能是也可能不是調試這樣一個項目的好方法。

任何輸入是讚賞?

回答

3

這可能是顯而易見的,但我對這種bugfixing任務的路線圖是:

  1. 收集儘可能多的信息,可能在碰撞源(用戶,developpers等)。
  2. 檢查文檔和依賴關係。
  3. 檢查源代碼。
  4. 構建一個獨立的測試環境並嘗試重現。

如果仍然無法找到該錯誤的來源,請嘗試清理源代碼並添加更詳細的日誌記錄系統。

Regards

0

Log,log,log,log。