خيوط غريبة في التطبيق في win7 wow64
سؤال
نحن نراقب 4-6 المواضيع على Windows 7 X64 في التطبيق الذي يحتوي 3 المواضيع وتتصرف بشكل طبيعي على أي نوافذ (إما 32 أو 64 بت) Windows 7.
يعرض Explorer العملية الخيط "غير المعروف" التالي:
ntdll.dll!EtwDeliverDataBlock+offset
بعد فترة عشوائية تظهر المواضيع التالية:
ntdll.dll!TpCallbackIndependent+offset
ntdll.dll!TpCallbackIndependent+offset
بعد هذا التطبيق ، لا يمكن إنشاء مؤشر ترابط (رمز الخطأ 8 ، المساحة الساخنة بما فيه الكفاية ...).
يبدو لي أن بعض نظام DLL ينشئ مؤشرات ترابط ETW أو شيء من هذا القبيل. هل يعرف أي شخص ما هذه المواضيع وكيفية إدارتها؟
المحلول
تعد مؤشرات ترابط TP جزءًا من واجهة برمجة تطبيقات Windows Threadpool ويتم إنشاؤها لأن تطبيقك (أو DLL المستخدم من قبل التطبيق الخاص بك) قد استخدم واجهة برمجة تطبيقات Windows Threadpool. يبدو أيضًا أن تطبيقك (أو أحد DLLs المستخدم من قبل التطبيق الخاص بك) يستخدم APIs ETW والذي يستخدم أيضًا اثنين من المواضيع. ليس لديك حقًا القدرة على إدارة هذه المواضيع.
أشك بجدية في أن هذه المواضيع هي ما يسبب خطأ في الذاكرة. من الأرجح أن المشكلة هي أنه لا توجد ذاكرة متجاورة كافية في عمليتك لحجز الغرفة لمكدس الخيط الجديد.