C++ nosozliklarni tuzatish (debugging)
Nosozliklarni tuzatish (debugging)
Debugging — dasturingizdagi xatolarni (bug) topish va tuzatish jarayoni.
Bug’lar — dasturingizning ishdan chiqishiga, noto‘g‘ri ishlashiga yoki noto‘g‘ri natija berishiga sabab bo‘ladigan xatolar.
Nosozliklarni tuzatishni boshlashdan oldin kodingiz toza va tartibli ekaniga ishonch hosil qiling:
- Tuzilma aniq bo‘lishi uchun to‘g‘ri chekinishlardan (indentation) foydalaning.
- O‘zgaruvchilaringizga ular nimani saqlashini tavsiflovchi aniq, mazmunli nomlar bering.
Toza kodni o‘qish osonroq — undagi xatolarni tuzatish ham!
Quyidagi bo‘limlarda bir nechta keng tarqalgan debugging usullari bilan tanishtiramiz.
1. Chiqarish orqali debugging (print debugging)
Nima noto‘g‘ri ketayotganini ko‘rish uchun kodingizning turli nuqtalarida qiymatlarni cout yordamida chiqaring:
int x = 10;
int y = 0;
cout << "Before division\n"; // Debug output
int z = x / y; // Crashes!
cout << "After division\n"; // Never runs
Agar "After division" matnini ko‘rmasangiz, dastur x / y qismida ishdan chiqqan.
2. O‘zgaruvchilar qiymatlarini tekshiring
O‘zgaruvchilar siz kutgan qiymatga ega ekanini ko‘rish uchun ularni chiqaring:
int x = 10;
int y = 5;
int result = x - y;
cout << "Result: " << result << "\n"; // Result: 5
15 ni kutgandingizmi? Demak, mantiq noto‘g‘ri: uning o‘rniga x + y ishlatib ko‘ring.
3. Debugger vositasidan foydalaning
Visual Studio, Code::Blocks va VS Code kabi IDE’larda quyidagilarni amalga oshirish imkonini beradigan debugger’lar mavjud:
- Dasturingizni to‘xtatib turish (to‘xtash nuqtalari — breakpoints)
- Kodni qatorma-qator bajarib borish
- O‘zgaruvchilarni kuzatish va kutilmagan qiymatlarni topish
Maslahat: "1. Chiqarish orqali debugging" usulidan boshlang. Tajriba orttirganingiz sari IDE vositalaridan foydalaning.
4. Xato xabarlaridan o‘rganing
C++ kompilyatori va bajarilish vaqtidagi xatolar ko‘pincha sizga nima noto‘g‘ri ketganini va qayerda ekanini aytib beradi. Masalan:
error: expected ';' before 'return'
Oson yechim: Tushib qolgan nuqtali vergulni qo‘shing!
Istisnolarni qayta ishlash
Debugging kodingizdagi xatolarni topish va tuzatishga qaratilgan bo‘lsa, istisnolarni qayta ishlash — dastur ishlayotgan paytda xatolar bilan ishlash va biror narsa noto‘g‘ri ketganda muayyan kodni bajarish usuli.
Keyingi bobda istisnolarni qayta ishlash haqida bilib olasiz.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
