Bulunamayan Access Violation Hatası

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
PTT
Üye
Mesajlar: 30
Kayıt: 26 Ağu 2011 02:37

Bulunamayan Access Violation Hatası

Mesaj gönderen PTT »

İyi günler,
Kendi bünyemizde bir program oluşturduk. Programımız bir süre sonra Access Violation Hatası verip kapanıyor.
İşin ilginç tarafı hep aynı yerde yapmıyor hatayı. 15-20 kayıt giriyoruz bir cari karta bakarken filan durduk yere hata verip kapanıyor.
Bu konuda bu sitedede dahil olmak üzere birçok yerli ve yabancı kaynakları araştırdım ama nerede hata yaptıgımı bulamadım.
Porjemde jedi, indy, devex kompenentleri dışında başka birşey kullanmadık.
debug methodlarını uyguluyoruz ama belirli bir alanda kodlarda sıkıntı olmadıgından ötürü hatayı yakalayamıyoruz. Sanırım bellek kullanımı veyahut pointerlar ile alakalı bir sıkıntı.
Sizden ricam hatayı yakalayabilmem konusunda fikirlerinizi belirtmenizdir.
Teşekkürler, hayırlı kandiller
Kullanıcı avatarı
burakb44
Üye
Mesajlar: 131
Kayıt: 11 Mar 2005 03:13

Re: Bulunamayan Access Violation Hatası

Mesaj gönderen burakb44 »

programın hata verdiği kısımda henüz oluşturulmamış bir objeden faydalanmaya çalıştığında bu mesajı alırsınız, mesela şöyle izah edeyim, 2 tane formunuz olsun form1 ve form2 form2 içinde edit ve image nesnesi olsun. siz form1 içinden form2 deki bu iki nesneyi kullanmak üzere kodlar yazdınız. yazdığınız kodlarda hata yoktur ve sorunsuz derlenir. bu iki form uzantısı dpr olan proje dosyasında sırasıyla create edilir ve kullanıma açılır. Eğer siz proje.dpr dosyası içinde form2 yi form1 den önce create etmemişseniz form1de form2 ile ilgili yazdığınız kodlar çalışmaya başladığında acces violation tarzı hata alırsınız. ama önce form2 ve ardından form1 create edilip kodlar çalıştrılırsa sorunsuz çalışır. mutlaka gözden kaçırdığınız bi yerde bu tip bi uygulamanız var, dikkatli incelerseniz bulursunuz. kolay gelsin.
PTT
Üye
Mesajlar: 30
Kayıt: 26 Ağu 2011 02:37

Re: Bulunamayan Access Violation Hatası

Mesaj gönderen PTT »

Cevabınız için çok teşekkür ederim. Bunu çok araştırmıştım ama benim kafamı karıştıran şey, hatanın herseferinde farklı yerde olmaması.
Mesela Carikartlar menüsünü açtıgımda hata aldım diyelim. Test etmek için 20-30 kere defalarca cari hesaplarda o yaptıgım işi tekrar yapıyorum hata almıyorum.
Gidiyorum başka bir form açıyorum bu sefer orda hata veriyor..
Bu hata söylediğinizden biraz farklı sanırım değil mi ? Bunun kontrolünü nasıl yapacagım ?
Bu hatayı bulmak için nasıl bir yol izlemeliyim acaba ?
Çok teşekkürler
Kullanıcı avatarı
burakb44
Üye
Mesajlar: 131
Kayıt: 11 Mar 2005 03:13

Re: Bulunamayan Access Violation Hatası

Mesaj gönderen burakb44 »

PTT yazdı:Cevabınız için çok teşekkür ederim. Bunu çok araştırmıştım ama benim kafamı karıştıran şey, hatanın herseferinde farklı yerde olmaması.
Mesela Carikartlar menüsünü açtıgımda hata aldım diyelim. Test etmek için 20-30 kere defalarca cari hesaplarda o yaptıgım işi tekrar yapıyorum hata almıyorum.
Gidiyorum başka bir form açıyorum bu sefer orda hata veriyor..
Bu hata söylediğinizden biraz farklı sanırım değil mi ? Bunun kontrolünü nasıl yapacagım ?
Bu hatayı bulmak için nasıl bir yol izlemeliyim acaba ?
Çok teşekkürler
arkadaşım benim bugüne başıma gelen acces violation hatalarının tamamı yukarıda izah ettiğim şekilde geldi hep, çok yüksek olasılıkla sizdede aynı durum sözkonusu, kodları satır satır incelemeniz gerekiyor, bulunduğunuz satırdaki kodun çalışması hangi nesneleri etkiliyor onu bulup bu nesnelerin o kod satırı çalıştığında create edilip edilmediğini kontorl edeceksiniz. başka türlü bulma şansınız çok zor.
PTT
Üye
Mesajlar: 30
Kayıt: 26 Ağu 2011 02:37

Re: Bulunamayan Access Violation Hatası

Mesaj gönderen PTT »

Peki Teşekkürler.
Tek tek bütün kodları gözden geçireceğim..
PTT
Üye
Mesajlar: 30
Kayıt: 26 Ağu 2011 02:37

Re: Bulunamayan Access Violation Hatası

Mesaj gönderen PTT »

İyi günler,
Create edilmemiş yada yok edilemiş bir nesneye ulaşamadıgından verilen bu hatada Sorunum devam ediyor, hatayı bulamadıgımdan ötürü Bir konuda daha danışmak istiyorum.

Access violation pointera ulaşamayınca da hata verir mi ? Aranılan pointer degeri yok ise dönen cevap null mu döner ? Sorun pointerlardan kaynaklanıyor olabilir mi ?

Yada değişken oluştururken windowsa bellek ayırmamakla ilgili olabilirmi ?

Değerli yorumlarınızı rica ederim
Teşekkürler
orhancc
Üye
Mesajlar: 585
Kayıt: 24 Ağu 2010 02:14
Konum: İstanbul / Kadıköy
İletişim:

Re: Bulunamayan Access Violation Hatası

Mesaj gönderen orhancc »

İlkinde hata veriyordur ve bir şekilde objeyi oluşturuyorsundur ve sonrakilerde ise obje oluştuğu için hata almıyor olabilirsin. try/except ile log tut neler dönüyor. Eğer sürekli ilk seferinde hata veriyorsa satır satır kodu işletip hatanın yerini tespit et. AV her zaman ulaşılamayan bir obje hatasıdır ya yeterli erişimin yoktur ya da obje oluşturulmamıştır.
Kullanıcı avatarı
csunguray
Üye
Mesajlar: 855
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: Bulunamayan Access Violation Hatası

Mesaj gönderen csunguray »

Sorun jedi bileşenlerinde olabilir. Daha önce Jedi'nin image ları stretch etmek için kullandığım grapchics.pas bileşeninde benzer hata alıyordum. Eğer siz de o unit i kullanıyorsanız veya ondan şüpheleniyorsanız bu konuyla ilgili çözümü bulup gönderebilirim.
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri

Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
dpcmsx
Üye
Mesajlar: 22
Kayıt: 06 Eyl 2011 04:25

Re: Bulunamayan Access Violation Hatası

Mesaj gönderen dpcmsx »

Kendi bünyemizde bir program oluşturduk. Programımız bir süre sonra Access Violation Hatası verip kapanıyor.
İşin ilginç tarafı hep aynı yerde yapmıyor hatayı. 15-20 kayıt giriyoruz bir cari karta bakarken filan durduk yere hata verip kapanıyor.

Access Violation taşma hatasıdır ancak bu hata bilgisayar RAM kaynaklıda (donanımsalda) olabilir. Derlediğiniz dosyanızı başka bir bilgisayarda deneyin ve aynı şekilde hata alıp - almayacağınıza bakın.

Verdiği hata penceresindeki bilgilerde oldukça önemli. Hata verdiği adres hep aynı mı yoksa değişiyor mu? Ayrıca hata kodu veriyor mu?

Saygılar.
Kullanıcı avatarı
barutali
Üye
Mesajlar: 297
Kayıt: 02 Tem 2007 02:30

Re: Bulunamayan Access Violation Hatası

Mesaj gönderen barutali »

cxgrid bazen durduk yere AV hatası verebiliyor. şuan 2011 v1.6 ya yükselttim bakalım bunda da yapacakmı..
amatör küme programcı :D
PTT
Üye
Mesajlar: 30
Kayıt: 26 Ağu 2011 02:37

Re: Bulunamayan Access Violation Hatası

Mesaj gönderen PTT »

csunguray yazdı:Sorun jedi bileşenlerinde olabilir. Daha önce Jedi'nin image ları stretch etmek için kullandığım grapchics.pas bileşeninde benzer hata alıyordum. Eğer siz de o unit i kullanıyorsanız veya ondan şüpheleniyorsanız bu konuyla ilgili çözümü bulup gönderebilirim.
Sn. csunguray;
Evet ben jedi bileşenlerini carikartlarda kullanıştım. Bunları CxImage ile değiştirdim ve garanti olsun diye projedeki tüm jvImage ları kaldırdım. Sizden rica edeceğim, hatanın burada oldugunu siz kendi projenizde nasıl yakaladınız ?


dpcmsx yazdı:
Access Violation taşma hatasıdır ancak bu hata bilgisayar RAM kaynaklıda (donanımsalda) olabilir. Derlediğiniz dosyanızı başka bir bilgisayarda deneyin ve aynı şekilde hata alıp - almayacağınıza bakın.
Verdiği hata penceresindeki bilgilerde oldukça önemli. Hata verdiği adres hep aynı mı yoksa değişiyor mu? Ayrıca hata kodu veriyor mu?
SN. dpcmsx;
Jvimageleri bir kaldırdıktan sonra programı ağ ortamında çoklu kullanıcılar ile test ettiğimizde benim PCde gün içinde sadece bir kere hata verdi. Bu oldukça güzel bir gelişme oldu bizim için.. Diğer PClerde ise bir yada iki kere hata verdi.. Hata kodlarını kaydediyorum.Sorunun çözümü adına burada paylaşacağım


Teşekkürler
orhancc
Üye
Mesajlar: 585
Kayıt: 24 Ağu 2010 02:14
Konum: İstanbul / Kadıköy
İletişim:

Re: Bulunamayan Access Violation Hatası

Mesaj gönderen orhancc »

Jedi gridlerinde sorunlar var eski bir programın kodlarını değiştirmeye kalktım tüm jedi patladı. Mümkünse kullanmayın.
PTT
Üye
Mesajlar: 30
Kayıt: 26 Ağu 2011 02:37

Re: Bulunamayan Access Violation Hatası

Mesaj gönderen PTT »

barutali yazdı:cxgrid bazen durduk yere AV hatası verebiliyor. şuan 2011 v1.6 ya yükselttim bakalım bunda da yapacakmı..
Sn. barutali;
İşte bizim sorunumuz burada.
Biz hangi bileşenin nerede hata verdiğini bulamıyoruz. Siz cxgridde oldugunu nasıl tespit ettiniz ?
Teşekkürler
Kullanıcı avatarı
barutali
Üye
Mesajlar: 297
Kayıt: 02 Tem 2007 02:30

Re: Bulunamayan Access Violation Hatası

Mesaj gönderen barutali »

projemin fatura modülünde bu sorun vardı. Çok değişken aralıklı olarak genelde formu kapatırken AV veriyordu. CXGrid i kaldırdım normal grid ile güncelleme yaptım 1 hafta o şekilde 125 client kullandı ve hiç birinde o hatayı bir daha vermedi. Şimdi v2011 1.6 ya yükselttim sürümünü yeniden cxgridi ekledim güncelledim şimdi eğer sorun çıkmazsa cxgrid den olabilceğine kesin kanaat edicem.
amatör küme programcı :D
PTT
Üye
Mesajlar: 30
Kayıt: 26 Ağu 2011 02:37

Re: Bulunamayan Access Violation Hatası

Mesaj gönderen PTT »

dpcmsx yazdı:
Access Violation taşma hatasıdır ancak bu hata bilgisayar RAM kaynaklıda (donanımsalda) olabilir. Derlediğiniz dosyanızı başka bir bilgisayarda deneyin ve aynı şekilde hata alıp - almayacağınıza bakın.
Verdiği hata penceresindeki bilgilerde oldukça önemli. Hata verdiği adres hep aynı mı yoksa değişiyor mu? Ayrıca hata kodu veriyor mu?
Saygılar.
Merhaba,
Ağ üzerinde kurulu 3-5 bilgisayarın tamamında da günde bir yada iki kere kere hata veriyor.
Aşağıdaki adreslere ait numaralar her hatada değişiyor.
Dediğim gibi bu hatayı cari kartı açarken aldım ama sonrasında defalarca carikart açıp kapattım bu bölümde tekrar hata vermedi. Rapor ekranı açtım 3 saat sonra o zaman hata verdi.

Aşağıdaki bilgilerden yola çıkarak hatanın nerede olduğunu bulabilirmiyiz ?
Teşekkürler


Debugger Exception Notification
---------------------------
Project PTT.exe raised exception class EAccessViolation with message 'Access violation at address 005168BA in module 'PTT.exe'. Read of address 0A6FFFD0'. Process stopped. Use Step or Run to continue.
---------------------------
Cevapla