2010-09-02 8 views
0

J'ai une application non géré qui utilise une bibliothèque gérée. L'un des appels effectués par le composant géré porte sur la classe PerformanceCounterCategory. Il semble que chaque fois que l'on accède à des méthodes (par exemple, PerformanceCounterCategory.Exists(String)), le CLR se bloque assez fort - les exceptions ne sont pas attrapables, et même le débogueur se détache sans aucune erreur. Je reçois le message suivant dans l'Observateur d'événements:PerformanceCounterCategory écraser le CLR

« La description pour l'ID d'événement 0 de la source d'exécution .NET ne peut pas être trouvé Soit le composant qui a déclenché cet événement n'est pas installé sur votre ordinateur local. ou l'installation est corrompu.Vous pouvez installer ou réparer le composant sur l'ordinateur local. "

"CorperfmonExt! CollectCtrs pris exception C00000FD"

J'ai regardé quelques-unes des solutions possibles (la plupart suggèrent un registre corrompu est à blâmer), mais aucun travail. Si je fais le même appel dans une application .net 4 simple, tout fonctionne bien, donc je suis assez certain que les paramètres du système sont intacts. Ce même code fonctionnait très bien avant .net 4.

Toute idée est appréciée.

Edit: Je dois ajouter que l'application non géré est en cours d'exécution en tant que service.

+1

Pour ce que ça vaut, 0xc00000fd est STATUS_STACK_OVERFLOW (ntstatus.h). –

Répondre