System.Diagnostics.StackFrame يتدهور في نظام التشغيل Windows 10
إذا لاحظت بعد الترقية إلى Windows 10 أو .NET Framework 4.7.1 ، انخفاضًا ملحوظًا في الأداء عند تشغيل تطبيقات .NET Framework التي تستخدم فئة System.Diagnostics.StackFrame ، فقد تهمك هذه المشاركة. سننظر في السبب ، ثم نقدم إصلاحات معروفة للخطأ.
System.Diagnostics.StackFrame أداء تدهور
التطبيق الذي يتمتع بأداء مقبول ويعمل على .NET Framework 4.7 أو الإصدارات السابقة يتم تنفيذه بشكل أبطأ عند التشغيل على .NET Framework 4.7.1 . تعتمد التطبيقات عادةً على StackFrame عندما تطرح استثناءات .NET. إذا حدث هذا بمعدل مرتفع (أكثر من 10 حوادث في الثانية) ، يمكن أن تتباطأ التطبيقات بشكل ملحوظ (عشرة أضعاف) وتعمل بشكل أبطأ بشكل ملحوظ من ذي قبل.
سبب System.Diagnostics.StackFrame تدهور أداء(Cause of the System.Diagnostics.StackFrame performance degrade)
أضاف .NET Framework 4.7.1 في نظام التشغيل Windows 10(Windows 10) دعمًا لاكتشاف تنسيق ملف PDB المحمول وتحليله لإظهار معلومات الملف ورقم السطر في تتبعات المكدس. كجزء من هذا التغيير ، يتم فحص وحدة التعريف الخاصة بكل وظيفة في تتبع المكدس لتحديد ما إذا كانت هذه الوحدة تستخدم تنسيق PDB المحمول. (PDB)نظرًا(Due) لبعض الاختلافات في سياسة التخزين المؤقت الداخلية ، يقضي وقت التشغيل وقتًا أطول بكثير في البحث عن وحدات PDBs المحمولة(Portable PDBs) مقارنة بإصدارات .NET Framework السابقة التي تقضيها في البحث عن Windows PDBs الكلاسيكية .
يؤدي هذا إلى إنتاج تتبعات مكدس منسقة بشكل أبطأ من ذي قبل.
لا تغير هذه المشكلة عدد الاستثناءات التي يتم طرحها. ومع ذلك ، فإنه يقلل بشكل كبير من قدرة التطبيقات على التعامل مع هذه الاستثناءات.
من المعروف أن التطبيقات التي تستخدم مكتبة IKVM تتأثر بهذه المشكلة إذا كانت تبحث عن التجميعات. من المعروف أن التحقق من التجمعات يسبب استثناءات.
إصلاح System.Diagnostics.StackFrame يؤدي إلى(Fix System.Diagnostics.StackFrame) تدهور أداء المشكلة
لحل هذه المشكلة ، توصي Microsoft باستخدام أي من الطرق التالية.
1] استخدم مُنشئًا مختلفًا لـ StackFrame يأخذ وسيطة منطقية(1] Use a different constructor for StackFrame that takes a Boolean argument)
هذا هو الحل المفضل.
إذا كان مطورو التطبيقات قادرين على إجراء تغييرات على تطبيقاتهم ، فاتصل بـ (call the) System.Diagnostics.StackTrace. #ctor ( منطقي(Boolean) ) المُنشئ باستخدام وسيطة خاطئة لتجنب التقاط معلومات المصدر. هذا يتجنب قسم الكود الذي ينخفض فيه الأداء.
2] التراجع أو الترقية إلى أحدث إصدار من Windows 10(2] Rollback or upgrade to the latest Windows 10 version)
في هذه الطريقة ، استرجع الإصدار / الإنشاء السابق أو upgrade to the latest version/build من Windows 10 إذا كنت تواجه هذه المشكلة ولا تقوم حاليًا بتشغيل أحدث إصدار من Windows 10 . قم أيضًا بإلغاء تثبيت .NET Framework 4.7.1 ، إن وجد ، من جهاز الكمبيوتر الخاص بك ، ثم قم بتنزيل(download) وتثبيت إصدار سابق أو أحدث إصدار من .NET Framework .
Hope this helps!
Related posts
كيفية التحقق من .NET Framework version مثبتة على Windows 10 PC
Fix Error 0x800F080C عند تثبيت .NET Framework على Windows 10
اختر مكان الحصول على خيار التطبيقات باللون الرمادي في إعدادات Windows 10
CMAK مقرها VPN لا يعمل بعد ترقية Windows 10
Cloud Clipboard (Ctrl+V) لا تعمل أو مزامنة في Windows 10
واحد أو أكثر من الصوت service isn لا يعمل على جهاز Windows 10
Watch التلفزيون الرقمي والاستماع إلى Radio على Windows 10 مع ProgDVB
كيفية تثبيت NumPy باستخدام PIP على Windows 10
الرمادي Airplane mode من Windows 10
Google Chrome المشاكل والقضايا Windows 10
كيفية تعطيل فئات التخزين القابلة للإزالة والوصول إلى Windows 10
إصلاح RPC server خطأ غير متوفر في Windows 10
Event ID 10006 و 1530: COM+ application لا يعمل في Windows 10
تمكين مفتاح Stream HDR video بعد ترقية Windows 10
يلقي إلى Device لا يعمل في Windows 10
يظهر SID بدلا من Username أو اسم مألوف في Windows 10
Hide Toolbars option في Taskbar Context Menu في Windows 10
كيفية فتح ملفات .aspx على الكمبيوتر Windows 10
المحتملة Windows Update Database error تم اكتشافها في Windows 10
MSVCR71.dll مفقود من الكمبيوتر Windows 10