دیباگ (Debugging)
دیباگ (Debugging) یعنی پیدا کردن و رفع ایراد برنامه. «باگ (Bug)» همان اشتباه آزاردهنده است. اول کد را مرتب کن. سپس مرحله به مرحله دنبال نشانه ها برو.
دیباگ با چاپ (Print Debugging)
با تابع printf() مسیر اجرا را ببین. اگر خروجی نیامد، همان جا مشکل است.
int x = 10;
int y = 0;
printf("Before division\n");
int z = x / y;
printf("After division\n");
بررسی مقادیر متغیر (Variables)
متغیر (Variable) جعبه نگهداری داده است. مقدارش را چاپ کن و با انتظار مقایسه کن.
int x = 10;
int y = 5;
int result = x - y;
printf("Result: %d\n", result);
استفاده از دیباگر IDE
در ویژوال استودیو، کُد::بلاکس، یا VS Code توقف گاه بگذار. سپس خط به خط اجرا کن و تغییر متغیرها را ببین.
خواندن پیام خطا
کامپایلر معمولاً می گوید «کجا» و «چه مشکلی» هست. پیام را دقیق بخوان و همان خط را اصلاح کن.
دیباگ با بررسی های ایمن (Safe Checks)
برخی کارها مثل تقسیم بر صفر خطرناک اند. قبل از اجرا، شرط بگذار تا کرش نشود.
int main() {
int x = 10;
int y = 0;
printf("Before division\n");
if (y != 0) {
int z = x / y;
printf("Result: %d\n", z);
} else {
printf("Error: Division by zero!\n");
}
printf("After division\n");
return 0;
}
نمونه دیگر: چک کردن اندیس آرایه
آرایه (Array) خانه های پشت سرهم است. خارج از محدوده نرو. اول اندیس را چک کن.
int main() {
int numbers[3] = {10, 20, 30};
int index = 5;
printf("Index = %d\n", index);
if (index >= 0 && index < 3) {
printf("Value = %d\n", numbers[index]);
} else {
printf("Error: Index out of bounds!\n");
}
return 0;
}
گام های عملی دیباگ
- کد را تمیز و منظم کن.
- پیام خطا را کامل بخوان.
- با
printf()مسیر را ردگیری کن. - فرضیه بساز و تغییر کوچک بده.
- دوباره اجرا کن و نتیجه را بسنج.
نکته: برای خطاهای رایج به صفحه خطاها سر بزن. برای اشاره های ایمن، مبحث NULL را هم ببین.
جمع بندی سریع
- دیباگ یعنی ردیابی علت ایراد.
- چاپ مقادیر ساده اما مؤثر است.
- شرط های ایمن جلوی کرش را می گیرند.
- پیام خطا راهنماست؛ دقیق بخوان.