سؤال

نحن نراقب 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 والذي يستخدم أيضًا اثنين من المواضيع. ليس لديك حقًا القدرة على إدارة هذه المواضيع.

أشك بجدية في أن هذه المواضيع هي ما يسبب خطأ في الذاكرة. من الأرجح أن المشكلة هي أنه لا توجد ذاكرة متجاورة كافية في عمليتك لحجز الغرفة لمكدس الخيط الجديد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top