سؤال

لقد بدأت للتو في تعلم C ولدي صعوبة في العثور على الأخطاء وتسريبات الذاكرة وما شابه. ما هي الأدوات الجيدة لمساعدتك في العثور على مثل هذه الأشياء؟ سمعت عن فالغريند ولكن هل هناك آخرون؟

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

المحلول

بالنسبة لي (على Linux) هناك:

  • GDB تستخدم للعثور على الحشرات
  • فالغريند العثور على تسرب الذاكرة

نصائح أخرى

إذا كنت تقوم بتخصيص الذاكرة ديناميكيًا ، فمن المحتمل أن تكون برامجك معقدة بالفعل للغاية بحيث لا تؤدي وظيفة جيدة حقًا ، ولكن قد تكون مستمتعًا بتحليل القيمة في Frama-C. ألق نظرة على البرنامج التعليمي والانتقال إلى الفصل التعليمي في الدليل إذا كنت لا تزال مهتمة.

الوبر هي أداة التحليل الثابت C الكلاسيكية.

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

يمسك Valgrind بالكثير من أخطاء الذاكرة. إنه يفتقد مجموعة متنوعة أيضًا ، مثل الوصول خارج مجموعة محلية. لنا checkPointer ستقوم الأداة بالتقاط جميع أنواع مراجع الذاكرة السيئة تقريبًا في اللحظة التي يتم فيها إجراء الخطأ. راجع جدول المقارنة في صفحة الويب لرؤية المزيد من الأشياء التي لن تلتقط Valgrind هذا CheckPointer.

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