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 ..
debug nedir ? Nasil yapilir ? Ne ise yara ?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
debug nedir ? Nasil yapilir ? Ne ise yara ?
Başlayan Herşey Birgün Bitmek Zorundadır.
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...
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

Ez cüdâyîhâ şikâyet mîküned

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.
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

Ş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/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Desene o günlerden kalan bir miras da kapatıp açma işiKuri_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ı. ...



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

Ez cüdâyîhâ şikâyet mîküned
