In regelmäßigen Abständen kommt es zu einem Ausfall eines Windows-Dienstes in einer Produktionsumgebung, den wir einfach nicht reproduzieren können. Es kann Monate dauern, bis es wieder passiert.Von ProcessThread zu einem verwalteten Thread gelangen
Ich gebe einige Diagnosen ein, um zu versuchen, mit dem Problem zu helfen, eine Sache, die ich ansehe, ist das Hinzufügen eines Ereignisses zum System-Thread-Pool für 60 Sekunden, nachdem wir das Herunterfahren der Anwendung initiiert haben. Unsere Anwendung sollte innerhalb von maximal 10 Sekunden sauber heruntergefahren werden.
In diesem Fall möchte ich die verbleibenden laufenden Threads des Prozesses auf das Ereignisprotokoll verfolgen.
Ich kann die laufenden Threads mit System.Diagnostics.Process.GetCurrentProcess.Threads erhalten. Diese Threadobjekte haben native Win32-Thread-IDs usw.
Ich habe mich gefragt, ob es eine Möglichkeit gibt, von diesen Thread-IDs zu allen verwalteten Threads zurückzukehren, die sie im aktuellen Prozess darstellen. Der Grund, warum ich das versuche, ist, weil wir für unsere Thread-Pools und andere Threads, die wir spawnen, die Namen geben, die ihren Zweck repräsentieren, und es würde wirklich helfen, diese zurückzubekommen.
Hat jemand schon einmal, wie dies zu tun herausgefunden, 3 Jahre später? –
Hallo Bruno, das ist grundsätzlich nicht möglich. – Bigtoe
Wie haben Sie den Threads im Thread-Pool Namen zugewiesen? IMHO das ist nicht möglich. –