Current Possibilities for Tracing Program Flow in C#