Frage

Wir beobachten 4-6 Gewinde auf Windows 7 x64 in der Anwendung, die haben 3 Fäden und benimmt sich normalerweise auf jedem Windows (entweder 32 oder 64 Bit) vor Windows- 7.

Process Explorer zeigt folgende "unbekannt" thread:

ntdll.dll!EtwDeliverDataBlock+offset

nach zufälligem Intervall der folgenden Threads angezeigt werden:

ntdll.dll!TpCallbackIndependent+offset
ntdll.dll!TpCallbackIndependent+offset

nach, dass die Anwendung nicht erstellen Thread (Fehlercode 8, heiß genug Platz ...).

Es scheint mir, dass einige System-DLL ETW Fäden oder etwas schafft. Weiß jemand, was diese Themen und wie sie verwalten?

War es hilfreich?

Lösung

Die TP-Fäden sind ein Teil des Windows-API und Thread erstellt werden, weil Ihre Anwendung (oder eine DLL von der Anwendung verwendet wird) das Windows-API-Threadpool verwendet wird. Es scheint auch, dass Ihre Anwendung (oder eine der DLLs von Ihrer Anwendung verwendet), um das ETW-APIs verwendet, die auch ein paar Threads verwenden. Sie wirklich nicht die Möglichkeit, diese Themen zu verwalten haben.

Ich bezweifle ernsthaft, dass diese Themen sind, was die aus Speicherfehler verursacht. Es ist wahrscheinlicher, dass das Problem ist, dass es nicht genügend zusammenhängende Speicher in Ihrem Prozess zur Verfügung steht, den Platz für den neuen Thread Stapel reserviert werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top