2012-04-03 4 views
0

hmm, ich fühle, dass mein OP-Titel falsch klingt, aber ich bin mir nicht sicher, wie ich es setzen soll ...Verfolgen Sie Ihren Laufzeitprozess als jede Methode aufrufen?

Ich meine so etwas wie während der Laufzeit, wann immer eine Schaltfläche Schaltfläche klicken, Dialogaufforderung, jede Methode wird usw. Es wird eine Ausgabe geben, die mein StackTrace oder etwas, das anzeigt, wo ich im Code bin, ausdruckt.

Der Grund ist, ich habe gerade ein neues Projekt mit sehr großen Quellcode (62 Projekte in einer Lösung) abgeholt, so ziemlich ich habe immer keine Ahnung wann immer ein Dialog oder eine Ansicht geöffnet wird, wo die Datei ist oder Eine Methode ist locate. Also möchte ich einen guten Weg, um zu verfolgen, wo ich bin, mir sagen, welche Dateien oder zumindest die Methode, die es anruft. Dann werde ich wissen, wo in VS ein Haltepunkt gesetzt werden soll.

Aber wie ich schon sagte, die Projekte sind ziemlich riesig, also gibt es keine Möglichkeit, dass ich zu jeder Klasse und jeder Methode gehen kann, um Debug.WriteLine("Method XXX being called") hinzuzufügen.

Also frage ich mich, gibt es eine Möglichkeit, dass ich ein Stück Code machen kann, immer wenn eine Methode ausgeführt wird? d. h. Ein Ereignishandler, der ausgeführt wird, wenn die Methode aufgerufen wird? Oder hat Visual Studio eine Funktion, mit der ich verfolgen kann, wo ich im Code bin? (Dh Taste Wesen Klick, die letzte Rückleitung ist XXXX)

Antwort

1

ein Profilierungswerkzeug verwenden .. Try "Ants"

+1

Oh wow, es funktioniert gut in WPF und Silverlight. Und ich bin überrascht, wie einfach es auch ist! Vielen Dank! +1 –

1

Ein paar Dinge in den Sinn kommen:

APSECT orientierter Programmierung

ich das bei jedem Methodenaufruf im Code zu weben verwendet haben extrem tiefe Spuren zu machen. Ich habe zufällig Postsharp verwendet.

IntelliTrace

Dies ist ein ziemlich handy tool from MS ist. Es sieht so aus, als könnten Sie method call level logging tun.

+0

Schade, ich habe nicht IntelliTrace ... Mein VS nicht Ultimate ist. Ich werde Postsharp später auch versuchen. +1 –

Verwandte Themen