Tuesday, May 29, 2012

A list of things to remember when debugging a C program

These go for C++ as well. Assuming gcc/g++ and gdb.
  • Compile with -Wall and pay attention to warnings.
  • Turn off compiler optimization. Remove -O from your CFLAGS.
  • Turn on debugging. Add -g to your CFLAGS.
  • Set appropriate breakpoints.
  • There is nothing wrong with throwing in a printf statement to narrow down your search. Use fprintf to print to stderr.
  • gdb --args ./program --program-args
  • break filename:lineno
  • Use valgrind to eliminate memory leaks and clean things up. If you can't trigger it while debugging, it's probably a memory bug. (valgrind --leak-check=full -v --log-file=vg.out ./program --program-args)
  • Define the error condition, then determine how it got that way.
  • When you find the bug, look for similar bugs in all your other code.

2 comments:

  1. كأفضل شركة تنظيف في الدمام ، نحن نقدم أفضل خدمة من خلال تعيين خبراء ومدربين من الفريق والعديد من الجنسيات لتحقيق رغبة عملائنا
    شركة النجوم لخدمات التنظيف
    شركة كشف تسربات المياه بالرياض
    نصائح للقضاء على الحشرات
    تنظيف السجاد

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

    شركة الصفرات لنقل الاثاث بالرياض
    شركة الصفرات لمكافحة الحشرات بالرياض
    شركة الصفرات لكشف التسربات بالرياض
    شركة الصفرات لتنظيف المسابح بالرياض
    شركة الصفرات لتنظيف الخزانات بالرياض
    شركة الصفرات لتسليك المجاري بالرياض

    ReplyDelete