Sozlash (Debugging)
Sozlash
Sozlash — dasturingizdagi xatolarni (baglarni) topish va tuzatish jarayoni.
Baglar dasturingizning to'xtab qolishiga, noto'g'ri ishlashiga yoki noto'g'ri natija berishiga sabab bo'ladi.
Sozlashni boshlashdan oldin kodingiz toza va tartibli ekanligiga ishonch hosil qiling:
- Tuzilmani aniq saqlash uchun to'g'ri chekinish ishlating
- O'zgaruvchilaringizga nima saqlashini tavsiflovchi aniq, ma'noli nomlar bering
Toza kod o'qish osonroq va sozlash ham osonroq!
Quyida bir nechta keng tarqalgan sozlash usullarini ko'rib chiqamiz.
1. Chop etish orqali sozlash
Nima noto'g'ri ketayotganini ko'rish uchun kodning turli joylarida cout yordamida qiymatlarni chop eting:
MISOL
int x = 10;
int y = 0;
cout << "Bo'lishdan oldin\n"; // Sozlash chiqishi
int z = x / y; // To'xtab qoladi!
cout << "Bo'lishdan keyin\n"; // Hech qachon ishlamaydiAgar "Bo'lishdan keyin" ko'rinmasa, dastur x / y da to'xtab qolgan.
2. O'zgaruvchi qiymatlarini tekshirish
O'zgaruvchilar kutganingizdek ekanligini ko'rish uchun chop eting:
MISOL
int x = 10;
int y = 5;
int result = x - y;
cout << "Natija: " << result << "\n"; // Natija: 515 kutgan bo'lsangiz? Demak mantiq noto'g'ri — x + y ishlatib ko'ring.
3. Sozlagich vositasidan foydalanish
Visual Studio, Code::Blocks va VS Code kabi IDE lar quyidagilarni imkon beradigan sozlagichlarga ega:
- Dasturni to'xtatish (breakpoint)
- Kodni satr bo'yicha o'tish
- O'zgaruvchilarni kuzatish va kutilmagan qiymatlarni topish
MASLAHAT
"1. Chop etish orqali sozlash" dan boshlang. IDE vositalarini tajribangiz ortishi bilan ishlating.
4. Xato xabarlaridan o'rganish
C++ kompilyatori va ish vaqtidagi xatolar ko'pincha nima noto'g'ri ketganini va qayerda ekanligini aytadi:
MISOL
error: expected ';' before 'return'Oson yechim: Yo'qolgan nuqtali vergulni tuzating!
Istisno holatlarni boshqarish
Sozlash kodingizda xatolarni topish va tuzatish haqida bo'lsa, istisno holatlarni boshqarish dastur ishlayotganda xatolar bilan shug'ullanish va biror narsa noto'g'ri ketganda maxsus kodni bajarish usuli.
Istisno holatlar haqida keyingi bobda o'rganasiz.
