I want to write myself a simple profiler. It would run a .NET
application and wait for the application to exit. When it exits I want
to see a grid containing 1) fully-qualified method/property name, 2)
the number of times it was called, 3) the amount of CPU time spent in
that function.
I can start a process, but I'm unsure what to look for. Is there some
global output pipe that .NET applications allow other applications to
hook into? How does that work? How does Visual Studio monitor all the
managed modules that were loaded when you execute in debug mode?