Поток '<No Name>' (0xb24) вышел с кодом 0 (0x0) - программирование
Подтвердить что ты не робот

Поток '<No Name>' (0xb24) вышел с кодом 0 (0x0)

всякий раз, когда я пытаюсь запустить программу, например,

если мне нужно запустить "frmphonebook", поэтому в

Application.Run(new frmphonebook());

Я набрал, но когда я запустил его, он запустил другую форму, и это происходит с каждой формой и отображает вывод как

The thread 'vshost.RunParkingWindow' (0x63c) has exited with code 0 (0x0).

The thread '<No Name>' (0xb24) has exited with code 0 (0x0).

как это решить?

4b9b3361

Ответ 1

Вы можете дать своим потокам имя, которое также поможет вам в отладке... Но во многих приложениях потоки создаются неявно, и вы не контролируете имя. Так что это не сообщение об ошибке. Код 0 означает, что все идет по плану. Любой ненулевой код обычно указывает на ошибку.

edit: вы также можете отключить отображение этих сообщений, при отладке, щелкнуть правой кнопкой мыши на выходе и выбрать, что вы хотите видеть. enter image description here

Ответ 3

Одна из вещей, которые вы узнаете об использовании отладчика, состоит в том, что вы увидите, что мы можем назвать "мягким белым подбрюшником" (аллюзия на анатомию аллигаторов) системы: загружаются и выгружаются все виды DLL, несколько сложное расположение "вспомогательных" потоков, которые запускаются и останавливаются... и т.д.

Это может отвлекать менее опытного пользователя, чтобы увидеть все эти сообщения. Однако со временем вы поймете, что отладчик просто правдивый и многословный. Детали, которые он отображает для вас, могут не иметь особого отношения к вашему процессу отладки, но он не может "знать" это; он отображает только фактическую информацию, и вам нужно разобраться в том, что актуально, а что нет.

Что касается приложений Windows Forms, я сам заметил, что, кажется, существует несколько "вспомогательных" потоков, как правило, без имени или (как это часто бывает у меня при отладке), они называются такими вещами, как "vshost.RunParkingWindow". Как правило, вы должны верить, что система создает потоки от вашего имени, в дополнение к тем потокам, которые вы могли бы создать самостоятельно. Как и другие, предложите свои собственные потоки значимых имен, чтобы вы могли отличить их от системных потоков.

Вы можете получить более глубокое представление о многопоточной структуре вашего приложения Windows Forms, поставив точку останова где-то в вашем обновляемом коде UI, а когда он ударит, используйте Debug/Windows/Threads, чтобы открыть представление обо всех потоках, запущенных в ваше пространство процесса. Я думаю, вы будете очень удивлены, сколько их! Попробуйте создать и .Show() - несколько форм в вашем приложении, один за другим. Я думаю, вы увидите, что каждая операция .Show() создает новое окно, а вместе с ним несколько поддерживающих потоков для этого окна.

Вы также можете видеть сообщения в окне отладки, например, следующее: "В System.Windows.Forms.dll появилось исключение первого исключения типа" System.ObjectDisposedException ". Много раз есть системные обработчики исключений, которые выполняют разумное действие по умолчанию от вашего имени. Это сообщение, появившееся без перерыва в отладчике, указывает, что какой-то обработчик по умолчанию позаботился об этом исключении для вас.

Системная поддержка чего-то вроде приложения форм Windows несколько сложна, чтобы сделать вашу реализацию проще и проще. Когда вы запускаете отладчик, вы можете увидеть некоторые из этих деталей. Со временем вы узнаете, что такое "обычное" и что указывает на проблему.

Ответ 4

Проверьте, есть ли в вашем веб-приложении некоторые файлы, которые были недоступны. Для моего случая мой элемент управления диаграммой создал текстовый файл, который был только прочитан, и он сделал исключение. Удалено файл и папки и voila

Ответ 5

я нашел ваше решение, я думаю.... я визуальная студия перейдите к проекту> свойства> компоновщик> система искать строку подсистемы и нажмите стрелку вниз и измените на консоль (.... слова....).

у меня это сработало !! НАСЛАЖДАТЬСЯ"