Durante a depuração de meu aplicativo C #, notei uma grande quantidade de ocorrências da seguinte frase:
O segmento - saiu com o código 0 (0x0).
O aplicativo continua a funcionar e nenhuma exceção é detectada / solta.
O aplicativo está sendo executado no Windows 7 64 bits e depurado com a plataforma x86.
Respostas:
Esta é apenas uma mensagem de depuração. Você pode desligar isso clicando com o botão direito na janela de saída e desmarcando
Thread Exit Messages
.http://msdn.microsoft.com/en-us/library/bs4c1wda.aspx
fonte
Bem, um aplicativo pode ter muitos threads em execução em paralelo. Alguns são executados por você, o codificador, alguns são executados por classes de framework (especialmente se você estiver em um ambiente de GUI).
Quando um thread termina sua tarefa, ele sai e deixa de existir. Não há nada de alarmante nisso e você não deve se importar.
fonte
Para completar a resposta aceita do BlueM, você pode desativá-la aqui:
Ferramentas> Opções> Depuração> Configurações gerais de saída> Mensagens de saída de thread: Desativado
fonte
se o seu aplicativo usa threads direta ou indiretamente (ou seja, nos bastidores, como em uma biblioteca de terceiros), é absolutamente comum que as threads sejam encerradas após serem concluídas ... que é basicamente o que você descreve ... o depurador mostra esta mensagem ... você pode configurar o depurador para não exibir esta mensagem se você não quiser ...
Se o acima exposto não ajudar, forneça mais detalhes, pois não tenho certeza de qual é exatamente o seu problema ...
fonte
O framework cria threads para suportar cada janela que você cria, por exemplo, como quando você cria um Form e .Show () ele. Quando as janelas fecham, os threads são encerrados (ou seja, eles saem).
Este é um comportamento normal. No entanto, se o aplicativo está criando encadeamentos e há muitas mensagens de saída de encadeamento correspondentes a esses encadeamentos (pode-se dizer possivelmente pelos nomes dos encadeamentos, dando-lhes nomes distintos no aplicativo), então talvez isso seja indicativo de um problema com o aplicativo criando threads quando não deveria, devido a um erro de lógica do programa.
Seria um acompanhamento interessante se o autor da postagem original nos contasse o que descobriu sobre os problemas de travamento do servidor. Tenho a sensação de que não teria nada a ver com isso ... mas é difícil dizer a partir das informações postadas.
fonte
A execução de consultas Linq pode gerar threads extras. Quando tento executar um código que usa a coleção de consultas Linq na janela imediata, ele frequentemente se recusa a ser executado porque não há threads suficientes disponíveis para o depurador.
Como já foi dito, é perfeitamente normal que os threads saiam quando terminados.
fonte
Também enfrentei esse problema e a solução é:
Adicionei este código novamente e meu programa foi executado com precisão:
fonte