我正试图为一些生成条形码和标签图形的代码编写可视化器。我想要这样做的方式是通过记录方法+参数正在运行到一个文件,所以我可以播放它们,并看到在每个阶段生成的可视化输出(所以一种可视化调试器,以帮助我修复在绘图中测量的问题)
我可以访问这些方法,我可以把任何我喜欢的东西放在它们里面——但是我被困在记录被调用的方法签名和参数的最佳方式上,特别是因为很多方法都是重载的。
有什么简单的,将帮助我序列化/记录实际的方法调用信息?(为了重播它,所以我需要以编程方式加载信息并调用它)也许是与反射相关的东西?
注意:我是我正在做的项目的实习生,我可能不允许在构建中引入新的程序集等,所以我认为基于方面的东西需要库。(同时,我不只是问一个问题,我应该弄清楚自己——这是我在午休时间做的一件额外的事情,以帮助我完成主要任务)
从现有的分析器开始作为基础可能是一个好主意-例如从http://code.google.com/p/slimtune/
请注意,分析器本身是相当复杂的-对于。net来说,它们需要一些c++/COM知识-但如果你从像slimtune这样的基础开始,那么希望你能够避免这些核心代码,而能够专注于你自己的可视化需求。
记录方法名称本身很容易,记录参数就比较困难了。我认为一般检索参数的唯一方法是使用反射——另一种选择是拥有大量的日志代码,其中显式记录每个参数。
还要考虑到您需要所有参数都是可序列化的,并且根据您希望文件的使用方式(由程序使用还是由人类可读),您可能必须实现相当多的样板序列化代码。
您应该真正考虑现有的分析工具和测试工具,而不是考虑发明一些新的工具。听起来,性能测试或集成测试可能比"回放"实用程序更有价值。