2013-10-19 8 views
5

Ich suche nach einer Möglichkeit, den Ausführungspfad eines Programms (d. H. Die Verzweigungen, die das Programm/die Methode in einer bestimmten Ausführung nimmt) in einer Datei aufzuzeichnen. Ich brauche diese Information, um zu wissen, welchen Weg meine Eingaben nehmen und um leistungsbezogene Entscheidungen zu treffen.Aufzeichnung des Ausführungspfades eines C# -Programms?

Prof-It für C# sah sehr vielversprechend aus, aber leider unterstützt es nicht die neuesten Versionen von Visual Studio.

Mein aktueller Plan ist es, eine eindeutige ID bei jeder Verzweigung im Programm zu generieren, und während der Ausführung notiere ich diese ID. Dies scheint jedoch ein sehr zeitaufwendiger Prozess zu sein.

+0

Was Sie suchen, heißt Profiler. Es sind mehrere .NET-Profiler verfügbar, die in einigen Editionen von Visual Studio enthalten sind. Das sollten Sie suchen. Beachten Sie, dass Fragen zur Empfehlung eines bestimmten Tools/Dienstprogramms nicht zu den Themen gehören. – shf301

+0

Während die Frage wahrscheinlich zu weit gefasst ist, finden Sie den folgenden Blog möglicherweise hilfreich, wenn Sie sich dazu entschließen, den Profiler selbst zu implementieren [CLR Profiling API Blog] (http://blogs.msdn.com/b/davbr/). –

Antwort

1

Smth wie

Assembly.GetCallingAssembly() 
Assembly.GetExecutingAssembly() 

oder

System.Diagnostics.StackFrame 

?