Crasch

Il blog di Carlo Folini
posts - 33, comments - 734, trackbacks - 253

martedì 6 marzo 2007

Tip: Usare process explorer per analisi di codice unmanaged

Dovendo fare del performance tuning, risulta particolarmente interessante usare il process explorer (pe) per verificare lo stack trace dei processi in esecuzione.

Selezionando un processo in pe viene aperta una finestra con alcuni tab. Usando il tab Threads viene visualizzata la lista dei thread (ordinabili per nome, CPU e CSwitch).

Cliccando su un thread viene visualizzata la stack trace di quel thread in quel momento.

Per rendere più leggibile tale stack trace bisogna configurare la directory dove pe ricerca i symbol.

Installare l'ultima versione dei debugging tools.

Sotto il menu Options->Configure Symbols impostare il path delle dbghelp.dll (appena installata)

es: C:\Program Files\Debugging Tools for Windows\DbgHelp.dll

Configurare il percorso dei simboli. La prima voce è la directory dove risiedono i nostri pdb, la seconda dove ci sono i simboli di windows (che vengono scaricati con i debuggin tools e l'ultima l'url dove andare a ricercare i simboli in caso non siano ancora presenti (se notate dei blocchi del process explorer probabilmente stà scaricando i simboli necessari):

es: D:\MyPdbDir;SRV*C:\ProcessExplorerNt\Symbols\SymSrv*http://msdl.microsoft.com/download/symbols

Visualizzando lo stack trace è quindi possibile 'a campione' vedere cosa stà facendo il processo in oggetto. Solitamente si nota che una particolare stack trace ricorre più volte, andando quindi ad analizzare il caso riusciremo (si spera) ad ottimizzare quel pezzo di applicazione.

posted @ lunedì 1 gennaio 0001 00:00 | Feedback (159) |

Powered by:
Powered By Subtext Powered By ASP.NET