我已經繼承了一個相當大的WPF應用程序,並且我需要爲其大部分生成應用程序跟蹤。由於項目的複雜性,如果可能的話,我希望在不對代碼庫進行任何更改的情況下執行此操作。我主要需要知道堆棧變量,即何時發生函數調用或返回。有沒有一種工具或方法能讓我跟蹤(最好)沒有代碼更改?這甚至有可能在沒有編寫工具的情況下將Trace調用添加到代碼中?工具跟蹤應用程序而無需更改代碼?
如果它僅限於特定的函數調用,我想我可以忍受這一點。我有一個工具,可以做到這一點的win32 api調用,通過導入表重寫將dll函數調用重定向到一個自定義存根,該存根在該點記錄調用堆棧。如果沒有這樣的工具可以在.NET上「開箱即用」,那麼是否有人知道常見問題解答或解釋.NET DLL鏈接工作原理的東西(導出表,thunk等)?
由於應用程序的大小,我正在尋找一個架構分析,正如你所說。我會研究NDepend,感謝您的建議:) – 2009-07-28 13:54:50