سؤال

ما هي الخطوات و تقنيات تصحيح واضح يتعطل بسبب الجمود في Win32 عملية الإنتاج.سمعت أن WinDbg يمكن استخدامها لهذا الغرض ولكن هل يمكن أن يرجى تقديم تلميحات واضحة حول كيف يمكن تحقيق ذلك ؟

هل كانت مفيدة؟

المحلول

هذا بعد يجب أن تحصل فقط على الخيارات المختلفة..التحقق من وظيفة معلم مع التصحيح..

آخر المادة مفيدة على التصحيح المآزق..

نصائح أخرى

التصحيح الحقيقي من المأزق هو في الواقع من السهل إذا كان لديك حق الوصول إلى مصدر تفريغ الذاكرة (أو يعيش جلسة عمل التصحيح).

كل ما عليك فعله هو أن ننظر في المواضيع, والعثور على تلك التي تنتظر على نوع من تقاسم الموارد (على سبيل المثال معلقة في انتظار WaitForSingleObject).عموما هناك من هو مسألة معرفة أي اثنين أو أكثر من المواضيع تغلق بعضها البعض ، ثم لديك فقط لمعرفة أي واحد كسر قفل heirarchy.

إذا كنت لا يمكن بسهولة معرفة أي المواضيع يحبس استخدم الطريقة الموضحة في هذا الرد هنا تتبع قفل سلسلة لكل موضوع.عندما تحصل في حلقة المواضيع في حلقة هي تلك التي وصلت إلى طريق مسدود.

إذا كنت كسول جدا ، يمكنك تثبيت تطبيق متحقق ، ثم تضيف لك وحدة وحدد فقط "أقفال" من الاختبار الأساسي.ثم يمكنك تشغيل التطبيق الخاص بك تحت أي المصحح.
إذا كان حاسما القسم الجمود يحدث لك العثور على السبب على الفور.

ما هي اللغة/IDE الذي تستخدمه ؟

في .صافي يمكنك عرض المواضيع من التطبيق:تصحيح->ويندوز>المواضيع أو Ctrl+Alt+H

التصحيح المآزق يمكن أن تكون خادعة.وعادة ما تفعل بعض نوع من الأشجار و نرى أين سجل توقف.إما تسجيل الدخول إلى ملف أو إلى وحدة التحكم التصحيح باستخدام OutputDebugString().

أفضل شيء هو أن تبدأ بإضافة تسجيل البيانات.عموما أنصح فقط حول الموارد المشتركة التي أصاب بالجمود ولكن أيضا إضافتها بشكل عام قد يشير إلى حالات أو المناطق من التعليمات البرمجية التي لم تكن تتوقع.الإعلان عن كثير stackoverflow.com قاعدة البيانات هذه المسألة في الواقع تحولت إلى أن تكون log4net!على ستاكوفيرفلوو الفريق لم يشتبه log4net فقط من خلال فحص تسجيل (المفارقات) يبين ذلك.أود في البداية التخلي عن أي أدوات معقدة مثل WinDgb منذ استخدامها ليست بديهية جدا IMHO.

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