Thread.Abort () при запуске приложения отладки, размещенного в Visual Studio, и непосредственного его запуска - PullRequest
1 голос
/ 17 марта 2011

У нас есть поток, в котором, когда мы внешне вызываем Thread.Abort (), перехватывается исключение ThreadAbortException, поскольку нам нужно выполнить некоторую очистку.В частности, Mutex запрашивается.Это происходит сбой при запуске приложения в режиме отладки вне Visual Studio, но при размещении в Visual Studio все работает нормально.Я слышал, что сборщик мусора работает по-разному, когда размещается и когда не размещается.Может ли это иметь отношение к темам?Возникла ошибка: переполнение буфера.

Спасибо!

1 Ответ

0 голосов
/ 18 марта 2011

Как уже сказал Хенк, не звоните Thread.Abort. Когда-либо.

У меня есть информация в моем блоге о том, как сборщик мусора работает по-разному в разных ситуациях. Тем не менее, я считаю, что GC одинаков для запуска отладочной сборки в отладчике или из нее.

Если вы хотите получить ответы на другие вопросы, вам нужно будет опубликовать дополнительную информацию. «Разбился» не является описательным термином; приложение неожиданно завершает работу, выводит на экран диалоговое окно, которое вы написали, или вызывает отчеты об ошибках Windows? Точно так же я не знаком с исключением "переполнения буфера"; для исключения, пожалуйста, опубликуйте тип исключения, сообщение и полную трассировку стека.

...