2009-11-06 6 views
9

Weiß jemand, ob Sie das Zeitintervall zwischen Haltepunkten in VS 2008 erhalten können? Plugin ?, VS-Trick?Visual Studio 2008 - Get Zeitintervall zwischen Haltepunkten?

Ich möchte nicht Code zu meinem vorhandenen Quellcode hinzufügen, um herauszufinden, wie lange etwas dauert, ich möchte eine schnelle und schmutzige Möglichkeit, dies während des Debuggens zu bekommen. Für dich schlaue Ärsche da draußen weiß ich, dass ich immer auch eine Stoppuhr auspeitschen kann, aber ich will etwas, das auch etwas genau ist.

Antwort

17

Sie eine Tracepoint verwenden könnte - was, wenn sie getroffen werden, wird ausgegeben, was Sie in das Konsolenfenster eingegeben:

alt text http://img24.imageshack.us/img24/3866/51292677.png

Dann Sie letztere aus der ehemaligen subtrahieren kann die Zeit zwischen den beiden zu bekommen .

+2

Danke, das ist genau das, was ich gesucht habe. Wenn der Code einige Sekunden dauert, können Sie auch {DateTime.Now.Second} verwenden. – Crackerjack

+0

-1 Funktioniert nur beim Debuggen von C#. – Nikolai

+0

@Nikolai - "Danke, genau das habe ich gesucht." –

0

Ich kann mir nichts vorstellen, aber vielleicht können Sie den Performance Wizard verwenden, um nützliche (Timing-) Informationen zu erhalten. Auf der anderen Seite können Sie eine Nachricht auf jeden Treffer drucken, Sie könnten die aktuelle Zeit drucken.

+0

-1 weil Sie anfangen zu sagen, dass Sie an nichts denken können. –

+0

zu tun -exaktly das, nicht das gleiche ... –

1

Es gibt einige nützliche Tricks, die Sie in diesem Zusammenhang mit dem @clk Debug-Makro verwenden können. Es gibt den aktuellen Zeitstempel.

Am ersten Haltepunkt fügen Sie eine Uhr von @ clk = 0 hinzu. Das setzt es auf Null zurück. Am zweiten Haltepunkt sehen Sie den Wert von @clk - es wird die Dauer seit dem ersten Haltepunkt sein.

5

zwei Uhren hinzufügen:

@clk 
@clk = 0 

Der Debugger sie von oben nach unten ausgewertet, so zeigen @clk die Zeit an diesem Debugger Schritt, und @clk = 0 wird es für den nächsten Schritt zurück wieder auf 0 zurückgesetzt.