2009-11-06 11 views
9

Qualcuno sa se è possibile ottenere l'intervallo di tempo tra i punti di interruzione in VS 2008? Plugin ?, trucco VS?Visual Studio 2008 - Ottieni intervallo di tempo tra i punti di interruzione?

NON voglio aggiungere codice al mio codice sorgente esistente per capire quanto tempo ci vuole per eseguire qualcosa, mi piacerebbe un modo rapido e sporco per ottenere ciò mentre eseguo il debug. Per te, asini intelligenti, so che posso sempre montare anche un cronometro, ma voglio qualcosa che sia alquanto preciso.

risposta

17

È possibile utilizzare un tracepoint - che, quando viene colpito, sarà l'uscita quello che hai inserito nella finestra della console:

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

Poi si può sottrarre il secondo dal primo per ottenere il tempo tra i due .

+2

Grazie, questo è esattamente quello che stavo cercando. Se il tuo codice impiega un paio di secondi per essere eseguito, puoi utilizzare anche {DateTime.Now.Second} – Crackerjack

+0

-1 Funziona solo durante il debug di C#. – Nikolai

+0

@Nikolai - "Grazie, è esattamente quello che stavo cercando." –

0

Non riesco a pensare a nulla per farlo, ma forse è possibile utilizzare il wizard delle prestazioni per ottenere alcune informazioni utili (temporali). D'altra parte è possibile stampare un messaggio su ogni colpo, è possibile stampare l'ora corrente.

+0

-1 perché si inizia dicendo che non si può pensare a nulla. –

+0

fare esattamente questo, non lo stesso ... –

1

Ci sono alcuni trucchi utili che è possibile utilizzare a questo proposito con la macro di debug @clk. Fornisce il timestamp corrente.

Al primo punto di interruzione si aggiunge un orologio di @ clk = 0. Questo lo resetta a zero. Al secondo punto di interruzione, guarda il valore di @clk - sarà la durata dal primo punto di interruzione.

5

Aggiungi due orologi:

@clk 
@clk = 0 

Il debugger li valuta verso il basso, in modo da @clk mostrerà il tempo di assumere quel passo debugger e @clk = 0 sarà ripristinare di nuovo a 0 ancora una volta per il passo successivo.

Problemi correlati