I've just started work on an existing .NET application with about 40 active projects. While familiarizing myself with the project, I find myself constantly stepping through the application just to learn the structure and logic flow. It would make this process so much easier if I could let the application run and log every method call and review the log afterwards. I know I can add Debug.WriteLine
or Trace.WriteLine
statements, but adding those statements to most methods in 40 projects sounds like overkill. Are there any good alternatives to this approach?
CLR Profiler introduced me to the appropriate keyword 'call graph' which led me to a duplicate question, How can I see a visualization of a dynamic call graph for a .NET program?.
The CLR Profiler can give you the stack traces you are looking for.