我已经继承了一个相当大的WPF应用程序,并且我需要为其大部分生成应用程序跟踪。由于项目的复杂性,如果可能的话,我希望在不对代码库进行任何更改的情况下执行此操作。我主要需要知道堆栈变量,即何时发生函数调用或返回。有没有一种工具或方法能让我跟踪(最好)没有代码更改?这甚至有可能在没有编写工具的情况下将Trace调用添加到代码中?工具跟踪应用程序而无需更改代码?
如果它仅限于特定的函数调用,我想我可以忍受这一点。我有一个工具,可以做到这一点的win32 api调用,通过导入表重写将dll函数调用重定向到一个自定义存根,该存根在该点记录调用堆栈。如果没有这样的工具可以在.NET上“开箱即用”,那么是否有人知道常见问题解答或解释.NET DLL链接工作原理的东西(导出表,thunk等)?
由于应用程序的大小,我正在寻找一个架构分析,正如你所说。我会研究NDepend,感谢您的建议:) – 2009-07-28 13:54:50