Странные темы в приложении в Win7 WOW64 - PullRequest
4 голосов
/ 21 марта 2010

Мы наблюдаем потоки 4-6 в Windows 7 x64 в приложении, которое имеет потоки 3 и работает нормально в любой Windows (32- или 64-разрядной) до Windows 7.

Process Explorer показывает следующий «неизвестный» поток:

ntdll.dll!EtwDeliverDataBlock+offset

после случайного интервала появляются следующие темы:

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

после этого приложение не может создать поток (код ошибки 8, достаточно много места ...).

Мне кажется, что какая-то системная DLL создает потоки ETW или что-то в этом роде. Кто-нибудь знает для чего эти темы и как ими управлять?

1 Ответ

5 голосов
/ 22 марта 2010

Потоки TP являются частью API пула потоков Windows и создаются потому, что ваше приложение (или DLL, используемая вашим приложением) использует API пула потоков Windows. Также кажется, что ваше приложение (или одна из библиотек DLL, используемых вашим приложением) использует API-интерфейсы ETW, которые также используют несколько потоков. У вас действительно нет возможности управлять этими потоками.

Я серьезно сомневаюсь, что именно эти потоки вызывают ошибку нехватки памяти. Более вероятно, что проблема в том, что в вашем процессе недостаточно непрерывной памяти, чтобы зарезервировать место для стека нового потока.

...