Когда я запускаю приложение Winforms на определенном ПК, если до создания потока пользовательского интерфейса выдается исключение, создается процесс-зомби.
// .NET Framework 4.8
using System;
using System.Windows.Forms;
namespace TestApp
{
internal static class Program
{
[STAThread]
static void Main()
{
throw new NotImplementedException();
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
C:\Users\foo>tasklist | findstr Test // running
TestApp.exe 4836 Console 1 32,256 K
C:\Users\foo>tasklist | findstr Test // exception
TestApp.exe 4836 Console 1 41,532 K
TestApp.exe 15132 Console 1 36 K
C:\Users\foo>tasklist | findstr Test
TestApp.exe 15132 Console 1 20 K
C:\Users\foo>taskkill /F /PID 15132
Error: Unable to terminate process (PID 15132)
Reason: Access denied:
На моем компьютере или компьютере моего коллеги процесс завершается обычным образом, так что же заставляет процесс жить, а не завершаться?
то же самое произойдет, если вы обработаете его с помощью события AppDomain.CurrentDomain.UnhandledException.
Вот характеристики ПК, на котором происходит процесс зомби:Processor AMD Ryzen 7 5800U with Radeon Graphics 1.90 GHz
Installed RAM 16.0 GB (13.8GB available)
System type 64-bit operating system, x64 based processor
Edition Windows 11 Pro
Version 23H2
Installation Date Tuesday 22-09-27
OS Build 22631.3374
Experience Windows Feature Experience Pack 1000.22688.1000.0
.NET Version : 4.8.1
Подробнее здесь: https://stackoverflow.com/questions/783 ... s-problems