2010-12-13 7 views
5

Existe-t-il une procédure pas à pas détaillée décrivant tous les processus qui se produisent au niveau .NET lors de l'exécution d'un exécutable? Comme les dossiers auxquels vous accédez, les processus qui peuvent être en cours d'exécution, ceux qui sont en cours d'exécution, etc. qui se produisent en dehors de votre application?Le processus exécutable .NET parcourt

+0

Vous posez des questions sur le comportement du CLR? – Amy

Répondre

3

[Je ne suis pas sûr à 100% de ce que vous entendez par processus. Si vous parlez des procédures internes au CLR, la réponse ci-dessous s'applique. Si vous voulez dire des processus OS à l'extérieur du CLR, ça ne fait rien!]

Je ne sais pas s'il existe une procédure détaillée. En tout cas, c'est compliqué. Au démarrage, le CLR lit beaucoup d'entrées de registre, machine.config, app.config, etc., résout les versions de DLL à charger (aka .NET Fusion), etc.

La meilleure façon d'obtenir des détails énormes sur ce est d'exécuter votre application .NET sous ETW (Event Tracing pour Windows). Vous pouvez activer la journalisation des événements du système d'exploitation pour observer toutes les interactions du système d'exploitation (lectures d'entrées reg, lectures de fichiers, charges de DLL, etc.) et également activer la journalisation des événements de niveau CLR. Ensuite (post-traitement) vous pouvez assembler (trier par temps) toutes ces informations pour obtenir une chronologie détaillée de ce qui s'est passé quand. J'avais l'habitude d'utiliser cette instrumentation pour mesurer et régler le temps de démarrage de l'application CLR.

Voir également http://msdn.microsoft.com/en-us/library/ff357719.aspx pour plus d'informations sur les événements CLR ETW.

Joyeux hacking!

Questions connexes