debug nedir ? Nasil yapilir ? Ne ise yara ?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
spoke25
Üye
Mesajlar: 434
Kayıt: 16 May 2005 04:06
Konum: Bolu

debug nedir ? Nasil yapilir ? Ne ise yara ?

Mesaj gönderen spoke25 »

Debug Olarak aradeim ama hep farklı Olaylardan bahsedilmis ve debug yap diye oneriler gelmis.

Bu nedir ne ise yara muhtemelen hataların sebeplerini bulmade kulanılan bir yontem ? Mi mantıken anlatan olursa sevinirim.

Uzun zamandır Proıgramda bir hata ver Eoutofresource (Geçersiz imleç işleci Diyor.)

Olay şöyle durmlarda Gerçekleşiyor. Jedi Nin Button2 sini kulanıyorum.

İmage listim var Bu imaj listte 12 resim var Bu Butonların üzerindeki resimler bu imaj listten geliyor.
ibdatasetin
datasourceun ondatachange Olyında soyle kodlar
JvButton1.activeimage:=ibtadataset1.degişken.asinteger;
Gibi bir kod lar var
Giridde aşagğı yukarı yaptıktan belli bir süre sonra Bahsettiğim hata meydana geliyor.

out of seytem resourece yok diyor eoutofresource diyor
bazende pencerenin kaydırma çubugu yok diyor.
Şimdiden sağ olur Selamun Aleykum Kolay gele ..
Başlayan Herşey Birgün Bitmek Zorundadır.
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

Debug, programı adım adım çalıştırıp bir hata oluyorsa bu hatanın hangi satırda olduğunu bulmak demektir diyebiliriz sanırım.
Nasıl yapılır:
Hatanın olması muhtemel olan satırın bir kaç satır öncesine bir Break Point konulur. Break Point koymak istenilen satıra gelinir ve F5 tuşuna basılır. Sol taraf kırmızı bir nokta gelir. Bu nokta, o satırda break point olduğunu gösterir. Bu nokatnın olduğu yere mouse ile tıklarnırsa nokta kalkar, bir daha tıklanırsa yine görünür. Yani mouse ile break point de böyle konulur.

Program çalıştırılır, breakpoint'e geldiği zaman çalışma kendiliğinden durur. F8 tuşuna baılarak adım adım ilerlenir ve hatanın hangi satırda oluştuğu bulunur. F7 tuşuna basarak ilerlemek te mümkündür.
F8 ile F7 arasındaki fark ise şudur: F8 ile ilerlenirse, satırlardan birinde bir procedure ya da function çağırılıyorsa o precedure/function dirfek çalıştırlır ve sonraki satıra geçilir. O procedure ya da function'un içinde neler olduğunu da görmek istiyorsak o satırı çalıştırmak için F7'ye basmak gerekir.

Bu arada programı debug ederken değişkenlerimizin aldığı değerleri görmek için mouse'u değişkenin üzerine getirir ve bir müddet beklersek değişkenin aldığı değeri görebiliriz. Böylece programın yanlış ve/veya hesapta olmayan bir değer yüzünden mi kırıldığı anlaşılır.

Kolay Gelsin...
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Kullanıcı avatarı
spoke25
Üye
Mesajlar: 434
Kayıt: 16 May 2005 04:06
Konum: Bolu

Mesaj gönderen spoke25 »

ben bunu zaten yapiyordum ama sag ol dostum
Başlayan Herşey Birgün Bitmek Zorundadır.
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

Neyse belki birilerinin işine yarar. Daha fazlasını anlatan olursa ben de gayet memnun olurum.

:)
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Mesaj gönderen pro_imaj »

Merhaba;
@hdayi hocam yazdığın bilgilerin benim için önemli bilgiler olduğunu söyliyebilirim.

Teşekkür ederim hocam.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Kullanıcı avatarı
spoke25
Üye
Mesajlar: 434
Kayıt: 16 May 2005 04:06
Konum: Bolu

Mesaj gönderen spoke25 »

Hdayi Hocam cok sag Ol Yani Her yonuyle minnetarim.. Ben sadece Bunu yapiyordum ama Debug oldugunu bilmiyordum Falla bunun Allah razii olsun Ama debug yappmak benim sorunumu cozmedi.
Başlayan Herşey Birgün Bitmek Zorundadır.
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Selamlar,

Bir düzeltme yapmak istiyorum.

Debug->Böcek Ayıklama Demektir. Bilgisayar tarihinde eskiden programlar oturulup klavye ile ekranda yazılmıyordu. Frame (Çerçeve) adı verilen eski telefon santrallerinde fiş takıp çıkarılan santraller vardır ya, onun gibi bir şey. Buralara kablolar ve fişlerle AND OR NOT gibi kapılar yapılarak (Bir nevi işlemci üretilerek) programlar yazılıyordu. Bunların daha karmaşık hallerine de Main Frame derler (Hani büyük makinalar vardır ya, onların ismi de ordan gelmektedir)

Günün birinde programcılardan biri ne yaptıysa program doğru çalışmamaktaydı. Her şeyi söküp takmayı denedi ve hala sonuç alamadı. Tekrar söktü ve bu sefer çerçevede mi sorun var diye bakarken sağından solunda tokatlarken birden o deliklerden bir adet böcek (BUG) çıktı.

Bilgisayar tarihinin ilk BUG'lı programıdır :) Böcek ayıklama işlemine de DEBUG dendi. Yani hatanın bulunması ve düzeltilmesi işlemine DEBUG denir.

Şimdi, DEBUG işlemi bütündür, ama programın takip edilmesi yani hata ayıklama işlemine TRACE (Takip etme) denir. Programlar TRACE edilerek DEBUG edilir.

TRACE işlemleri de IDE'den IDE'ye değişiklik göstermektedir. Borland'da bu işlemler, F9 RUN, F8 Step Over (Sadece o satırı işletir. Eğer bulunulan satırda bir fonksiyon varsa, o fonksiyona dallanmadan işletir) F7 Step Into işlemi ise, trace işleminde ilgili satırda bir fonksiyon yada procedure var ise işletirken ilgili procedure veya fonksiyonun içine girer ve satır satır işletmenize izin verir.

Bir de Trace Point'ler vardır. İşletilen EXE'yi DEBUG infolu veya INFO'suz yapabilirsiniz böylelikle de EXE'nizin trace edilebilir yada edilemez olduğunu tayin edersiniz.

Daha da var da onları da araştırın :)

Ben sadece kapıyı gösterdim, orada Assembler Window'lar vardır, Stack ve Register takipleri, Koşullu Kırılmalar ve durdurmalar gibi seçenekeler, WATCH'lar vs. vs.

Kolay Gelsin

Not : HDayi senin yazdiklarını teyit etmek ve biraz daha fazlasını vermek için yazdım.
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

Kuri_YJ yazdı:...Günün birinde programcılardan biri ne yaptıysa program doğru çalışmamaktaydı. Her şeyi söküp takmayı denedi ve hala sonuç alamadı. ...
Desene o günlerden kalan bir miras da kapatıp açma işi :lol: :lol: :lol:
Gleneklerimize bağlıyız nitekim :)
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Cevapla