2
http://support.microsoft.com/kb/953102如何在沒有堆棧跟蹤引用源代碼的情況下調試應用程序崩潰?
我們在聖誕假期花費了大約50個小時來識別這個問題,導致我們的商業關鍵生產應用程序隨機崩潰。
的問題是,沒有堆棧跟蹤的源代碼,堆棧跟蹤的底部,只有本地代碼一樣NativeWindow.Callback。
任何工具,在那裏,你會用來調試這樣的問題?
http://support.microsoft.com/kb/953102如何在沒有堆棧跟蹤引用源代碼的情況下調試應用程序崩潰?
我們在聖誕假期花費了大約50個小時來識別這個問題,導致我們的商業關鍵生產應用程序隨機崩潰。
的問題是,沒有堆棧跟蹤的源代碼,堆棧跟蹤的底部,只有本地代碼一樣NativeWindow.Callback。
任何工具,在那裏,你會用來調試這樣的問題?
如果你能忍受它,添加大量的日誌記錄。
猜測它發生的位置,並將該代碼括在entered Foo
和exited Foo
日誌中。那麼如果你在崩潰中看到一個而不是另一個,你就知道它在某個地方,所以根據需要啓動一個二進制(或n-ary)搜索功能。在某種程度上,你需要捲起地毯後面的地毯,以保持木材的大小,但只要碰撞能夠合理地產生,你應該能夠以這種方式進行調整。
我有一個應用程序,我已經做到了這一點(我不能在任何其他方式調試它的目標環境),並發現它是有效的,也有點令人印象深刻的說你已經用1M +行日誌文件(得多記錄,也可以大測試用例<g>
)
沒錯,分而治之是你的朋友。 – plinth 2009-01-08 00:46:25