Qual è il modo migliore per trovare codice con esecuzione prolungata in un'applicazione Windows Forms

StackOverflow https://stackoverflow.com/questions/3942

  •  08-06-2019
  •  | 
  •  

Domanda

Ho ereditato un'app Windows Forms scritta in VB.Net.Alcune parti dell'app sono terribilmente lente.Qual è il modo più semplice per scoprire quali parti del codice bloccano le cose?Sto cercando un modo per trovare rapidamente le subroutine più lente e affrontarle per prime nel tentativo di velocizzare l'app.

So che sono disponibili per l'acquisto diversi prodotti di profilazione del codice che mostreranno il tempo impiegato da ciascuna subroutine, ma speravo di trovarne uno gratuito soluzione.

È stato utile?

Soluzione

Apprezzo il desiderio di trovare software gratuito.Tuttavia, in questo caso, consiglierei vivamente di considerare tutte le opzioni, compresi i prodotti commerciali.Ho provato a giocare con nProf (che credo sia alla versione 0.1) e non ho avuto molta fortuna.Anche così, la profilazione delle prestazioni di un'applicazione è un'operazione complessa ed è meglio affrontarla utilizzando uno strumento potente e flessibile.A meno che tu non lavori gratuitamente, credo fermamente che il tempo che risparmierai utilizzando un prodotto professionale supererà di gran lunga il costo di una licenza.E, naturalmente, se desideri profilare solo una singola applicazione, ogni pacchetto commerciale prevede una prova di 15 o 30 giorni, un tempo più che sufficiente per individuare eventuali problemi in un'applicazione esistente.E se hai bisogno di supporto per la profilazione per qualcosa di più di un semplice progetto una tantum, è comunque meglio acquistare uno strumento completo.

Noi usiamo il Profilatore ANTS da RedGate e ne sono rimasto molto soddisfatto.Ho anche usato Profilo di memoria .NET con ottimi risultati.La cosa interessante di .NET Memory Profiler è che può collegarsi e profilare applicazioni di produzione in esecuzione, il che ci ha davvero salvato il sedere quando abbiamo avuto una perdita di memoria in produzione che non siamo riusciti a riprodurre nel nostro laboratorio di test.

Quelli di JetBrains avere anche un profiler chiamato dotTrace che non ho provato, ma devo credere che se proviene dal negozio JetBrains probabilmente è anch'esso di prim'ordine.

Comunque il mio consiglio è questo:prova a sistemare la tua app durante il periodo di prova gratuita di una o una combinazione aggregata delle tre (minimo 45 giorni di utilizzo gratuito) e se ciò non basta, scegli la tua preferita e provane una.Non te ne pentirai.

Altri suggerimenti

nProf è un profiler .Net gratuito (rif).

nProf è un ottimo strumento gratuito per la profilazione .Net.

Visual Studio viene fornito con un profiler delle prestazioni che è piuttosto buono.non viene fornito con tutte le versioni: per VS2008, penso che sia la Developer Edition di cui hai bisogno.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top