[ misk0 @ 02.01.2006. 21:15 ] @
| Nakon par godina ne programiranja u Delphiju vratih se korjenima ;)
I napravih tako jednu app, koja u odredjenim uslovima puca i vraca 'list out of bound'.
Sad, ukljucim ja debuger i napravim breakpoint medjutim kad app pukne zbog te greske, kursor uopste ne ode na liniju u kojoj je greska???
Isto tako, koristim Watch i Local variables windows ali kad se desi krah ta dva prozora su prazna i ne mogu znati vrijednosti varijabli koje me interesuju.
Vjerovatno se nesto promjenilo u okruzenju i postoji opcija koju ne mogu da nadjem da bih ispravno mogao debug-ovati greske.
pozdrav i hvala.
|
[ Nemanja Avramović @ 02.01.2006. 21:20 ] @
Pa daj tu app okachi pa da vidimo... mada greska ti je verovatno u nekoj for petlji gde si malo preterao sa iteracijama 
[ misk0 @ 02.01.2006. 21:27 ] @
Hm... koristim par berg komponenti tako da nisam siguran da cete je moci iskompajlirati??
Da, prekoracio sam, ali najgore je sto nekad hoce a nekad nece da pukne... Koristim RandomRange funkciju ali ... opet mi nije jasno.
Svejedno.... glupo je sto ne znam u kom dijelu tacno puca??? Kako da to saznam, na kojoj liniji?? To je prije u Delphiju bilo, tj bilo je u Pascal-u pa i u svim ostalim jezicima.
[ Aleksandar Đokić @ 03.01.2006. 03:29 ] @
pa stavi Random na manju vrednost od one koju sme da ima I (u ovom slucaju) u for petlji, verovatno ti posle I odredjuje itemindex u listboxu il tako nesto i ako je I vece od broja "stavki" u komponenti delphi vraca "List index of bounds"
[ misk0 @ 03.01.2006. 09:38 ] @
Uhhh...
Nekad ta petlja prodje bez problema, u vecini slucajeva puca.
Ono sto ja pitam je vezano za Delphi IDE - debug. Znaci kako da saznam vrijednosti tih promjenjivih u trenutku pucanja i liniju koda gdje tacno puca program?
Nemojte mi reci da trazim nemoguce i da to ne postoji jer je do sad postojalo u Delphiju a postoji i u svim ostalim jezicima.
[ Milos D @ 03.01.2006. 10:38 ] @
Ako imas kompletan izvorni kod, onda bi trebalo da ti delfi da liniju na kojoj je puko. Mozda koristis neku komponentu preko BPL fajla, tj. delfi ne "gleda" njen izvorni kod nego samo iskompajlirani kod. Ako imas izvorni kod, vidi u kom je direktorijumu pa ga dodaj u search path.
Inace ponekad da bi shvatio zasto i gde nesto puca ja dodam i path do delfi source/VCL tako da mogu da "trejsujem" i kroz VCL kod.
[ misk0 @ 03.01.2006. 10:45 ] @
Mozdaa zato....
Koristim komponentu od koje nemam izvorni kod i vjerovano u pristupu njoj puca a ne moze me uputiti na izvorni kod jer ga nema??
Ali kako da zadrzim vrijednosti promjenjivih prije pucanja??
Log fajl nije od neke pomoci.
[ Milos D @ 03.01.2006. 11:24 ] @
try
tvoj kod koji poziva tudji kod u kojem program puca
except
showmessage ('promenljiva1 = ' + promenljiva1 + #13#10 + 'promenljiva 2 = ' ... );
end;
i ako postavis breakpoint na showmessage trebalo di da mozes da vidis stanje svih promenljivih i call stack...
[Ovu poruku je menjao Milos D dana 03.01.2006. u 12:25 GMT+1]
[ misk0 @ 03.01.2006. 12:12 ] @
Da.... ali opet nece.
Znaci izolirao sam sumnjiv kod i stavio ga u try/except i stavio showmessage i breakpoint ali opet dobijam istu poruku o gresci a program se ne zaustavi na tom breakpointu odnosno ne mogu nista uciniti, Call Stack, Local Variables su prazni....
Grrrrrrrrrrrr
[ misk0 @ 03.01.2006. 18:44 ] @
Nije problem do mog koda vec do GridView komponente od BergSoftware-a i funkcije DeleteRow() koja nekad radi a nekad pravi probleme (nisam jos uspio zakljuciti u kakvim uslovima).
Da li znate za neku drugu dobru Grid komponentu? Treba mi obican grid, ne DB, cisto da je malo intiutivniji za rad od obicnog Delphi-ovog?
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|