Programme de crash du Système.ObjectDisposedException
J'ai un problème bizarre avec mon programme. Je suis le développement d'une application windows form. Quand je le débogage dans Visual Studio (F5), il fonctionne parfaitement bien, mais quand je lance son exécutable, il se bloque et me donne "Une exception non gérée du type 'System.ObjectDisposedException' s'est produite dans mscorlib.dll".
J'ai essayé de mettre un haut niveau (sur mon ultrapériphériques de la fonction) try/catch pour la capture de cette exception, mais encore le programme se bloque. Ce qui me manque ici?
Je n'ai pas télécharger le code parce que j'ai dû télécharger l'intégralité de code pour vous de voir où est le problème.
Le problème est que lors du débogage de la GC n'a pas collecter des objets qui sont éliminés comme souvent. Quelque part dans votre code vous essayez d'accéder à un objet que vous n'avez plus une référence valide. Il a été disposé. Il est impossible de dire exactement où sans un peu de code.
S'il essaie d'y accéder, de toute évidence, il doit avoir une référence à elle, et donc pas de GC.
S'il essaie d'y accéder, de toute évidence, il doit avoir une référence à elle, et donc pas de GC.
OriginalL'auteur armin | 2011-07-30
Vous devez vous connecter pour publier un commentaire.
Wow, ObjectDisposedException qui n'est pas pris par un haut niveau bloc catch?
Je ne suis pas sûr de ce que je ferais dans ce cas - évidemment, vous voulez voir la trace de la pile et de savoir exactement ce qui a été disposé. Il y a quelques onu-catch-mesure des exceptions, mais ce n'est pas l'un d'eux. Je serais probablement attacher un gestionnaire à l'AppDomain.UnhandledException événement, et de voir si rien trouvé.
OriginalL'auteur Ben
Si vous pouvez obtenir la trace de la pile de l'exception, il devrait vous aider à déboguer la cause racine. Vous pouvez trouver la Pile d'Appel fenêtre d'aide pour cela. Voir les instructions ici:
Vous pouvez également désactiver le "Mon" Code de l'option de débogage dans Visual Studio. Cela peut vous donner une meilleure exception des informations de débogage. Suivez les instructions (à désactiver) ici:
OriginalL'auteur bobbymcr