0Pricing
C++ Academy · Ders

gdb ve lldb Kullanımı

Programlarda adım adım ilerleyin

gdb ve lldb Kullanımı, CoddyKit'te ücretsiz bir C++ Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C++ Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C++ Academy kursu toplamda 4 dersten oluşur.

Etkileşimli Hata Ayıklayıcılar

gdb (GNU) ve lldb (LLVM), çalışan bir programı duraklatmanıza, değişkenleri incelemenize ve kodu satır satır ilerletmenize olanak tanır. Komutları benzerdir.

Hata Ayıklama Bilgileriyle Derleyin

Hata ayıklayıcının makine kodunu kaynak kodunuza eşleyebilmesi için her zaman -g (ideal olarak -O0 ile birlikte) seçeneğiyle derleyin.

g++ -g -O0 main.cpp -o app
# then
gdb ./app

Kesme Noktaları Ayarlama

Bir kesme noktası, yürütmeyi seçilen bir konumda duraklatır.

  • gdb: break main.cpp:10 veya break myFunc
  • lldb: breakpoint set --file main.cpp --line 10 veya b myFunc

Programı Çalıştırma

Yürütmeyi run (veya r) ile başlatın. Program, karşılaştığı ilk kesme noktasında durur ve incelemeye hazır hâle gelir.

Kodda Adım Adım İlerleme

Temel adımlama komutları (gdb ve lldb'de adları aynıdır):

  • next / n: çağrıların üzerinden geçerek bir satır çalıştırır
  • step / s: bir çağrının içine girer
  • finish: geçerli işlev dönene kadar çalıştırır
  • continue / c: bir sonraki kesme noktasına kadar devam eder

Değişkenleri İnceleme

Programın durumunu anlamak için değerleri yazdırın.

  • gdb: print x, print arr[2]
  • lldb: frame variable veya p x

Örnek Oturum Hedefi

Bu programı düşünün; döngüde durup her yinelemede sum değerini yazdırabilirsiniz.

#include <iostream>

int main() {
    int sum = 0;
    for (int i = 1; i <= 3; ++i) {
        sum += i;
    }
    std::cout << sum << "\n";
    return 0;
}

Çağrı Yığını

Durdurulduğunda backtrace (gdb) veya bt (lldb), işlev çağrıları zincirini gösterir. Bir çağırana geçmek ve yerel değişkenlerini incelemek için frame N kullanın.

İzleme Noktaları

Bir izleme noktası, bir değişken değiştiğinde programı durdurur ve beklenmeyen değişikliklerin nerede gerçekleştiğini bulmanıza yardımcı olur.

  • gdb: watch counter
  • lldb: watchpoint set variable counter

Koşullu Kesme Noktaları

Elle adım adım ilerlemek zorunda kalmamak için yalnızca bir koşul sağlandığında durun.

  • gdb: break loop.cpp:5 if i == 99
  • lldb: breakpoint set --line 5 --condition "i == 99"

Çökmelerde Hata Ayıklama

Çöken programı hata ayıklayıcının altında çalıştırın; bir segmentasyon hatasında hata oluşan satırda durur. Ardından oraya nasıl ulaştığınızı görmek için bt kullanın. Sonradan bir çekirdek dökümünü de inceleyebilirsiniz.

Hızlı Kontrol

Adımlama komutlarını hatırlayın.

Özet

Etkileşimli hata ayıklamayı öğrendiniz.

  • -g -O0 ile derleyin
  • Kesme noktaları ayarlayın, run çalıştırın, ardından next/step/finish kullanın
  • print/frame variable ve backtrace ile inceleyin
  • İzleme noktaları ve koşullu kesme noktaları, bulunması zor hataları hedefler

Sıkça Sorulan Sorular

“gdb ve lldb Kullanımı” dersi ücretsiz mi?

Evet — “gdb ve lldb Kullanımı” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C++ Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C++ Academy kursu toplamda 4 dersten oluşur.

“gdb ve lldb Kullanımı” dersinde ne öğreneceğim?

Programlarda adım adım ilerleyin C++ Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

C++ Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te C++ Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“gdb ve lldb Kullanımı” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu C++ Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her C++ Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. gdb ve lldb Kullanımı
  2. AddressSanitizer
  3. UBSan ve TSan
  4. Valgrind Temelleri
← C++ Academy Sayfasına Dön