I have used Postsharp a few years ago to trace program flow during execution without needing to manually add trace statements to the methods.
Is there any other new ways to trace execution to to debug output in a similar way?
(Preferably a way that doesn't need to instrument the built assemblies. Maybe not possible?)
If you only want this ability at debug time, there's Microsoft IntelliTrace that's a part of Visual Studio 2010 Ultimate, and there's Sergey Vlasov's RunTime Flow. The former makes your program run very slow. Haven't tried the latter.
Gibraltar uses PostSharp, but provides you with a very powerful client for visualizing your program flow. You can also compare snapshots, view statistics, etc.. Unfortunately it's not free :)
Moreover, most dependency injection frameworks (Unity, Windsor, Ninject, ...) provide method interception. In most cases, you can define traced methods within the app.config file. However, I prefer PostSharp :)
来源:https://stackoverflow.com/questions/8614157/current-possibilities-for-tracing-program-flow-in-c