Сбой программы с системой.ObjectDisposedException

У меня странная проблема с моей программой. Я разрабатываю приложение windows form. Когда я отлаживаю его через Visual Studio (F5), он работает совершенно правильно, но когда я запускаю его исполняемый файл, он падает и дает мне "необработанное исключение типа" System.ObjectDisposedException ' произошло в mscorlib.файл DLL."

Я попытался поставить верхний уровень (на мою самую внешнюю функцию) try/catch для ловли этого исключения, но все равно программа падает. Что я упускаю здесь?

Я не загрузил код, потому что мне пришлось загрузить весь код, чтобы вы увидели, в чем проблема.

2 ответов


Wow, ObjectDisposedException, который не пойман блоком catch верхнего уровня?

Я не уверен, что бы я сделал в этом случае - очевидно, вы хотите увидеть трассировку стека и узнать, что именно было удалено. Есть несколько неуловимых исключений, но это не одно из них. Вероятно, я бы прикрепил обработчик к AppDomain.UnhandledException событие, и посмотреть, если что-нибудь найдено.


Если вы можете получить трассировку стека исключения, это должно помочь в отладке первопричина. Вы можете найти окно стека вызовов полезным для этого. Ознакомьтесь с инструкциями здесь:

вы также можете отключить опцию "Только мой код" для отладки в Visual Studio. Это может дать вам лучшую отладочную информацию об исключениях. Следуйте инструкциям (to отключить) здесь: