Delphi - Dubugger - prečo nevie označiť miesto s chybou?
Včera som mal problém s programom v Delphi. Po sputení mi po uzavretí určitého dialógu naskočila chybová hláška Index out of bounds 2. Vedel som, že niečo je mimo rozsahu, len som nevedel kde. Debugger mi to miesto neoznačil. V popise chyby bolo v dialógovom okne napísané, že mámk použiť krokovanie. Tak som skúsil nastavil programový kurzor na miesto, kde som vedel, že chyba ešte nie je pomocou F4 a potom som krokoval a zistil som, že som nastavoval prvky Controls v GroupBox a pridal som tam ďalší GroupBox, ktorý s tým prvým súvisel, len mal o jednu položku menej. Skončilo to chybovým hlásením pri poslednej položke. Zo starého Pascalu som bol zvyknutý, že program sa prerušil pri chybe a tá ostla vysvietená. Prečo toto Delphi nedokáže a ja musím program krokovať? Takto iba stratím množstvo času, ak je chyba niekde hlbšie ukrytá. Ako teda hľadať chyby, keď jediné riešenie je krokovanie a Delphi chybu samé od seba neukáže?
Mas povoleny ve vlastnostech projektu DEBUG informace ?
Mám nastavené, ale kvôli ďalším informáciám prikladám obrázok.
Skúsil som zapnúť Debug DCU a vyskočilo mi pri chybe toto z unity Classes:
[pas]begin
raise EListError.CreateFmt(Msg, [Data]) at ReturnAddr;
end;
[/pas]
Ja na takove veci pouzivam Exception dialog z knihovny JCL
http://sourceforge.net/project/showfiles.php?group _id=47514
Je to jen knihovna, zadne komponenty.
V baliku je BAT soubor, ktery spustis a on ti jednak prida wizarda, ktery umi vlozit MAP soubor do vysledneho EXE (posledni polozka v menu project) a druhak ve File / New se pridaji Exception dialogy.
Pak pri chybe (i u uzivatele) dostanes presne radek na kterem k chybe doslo vcetne obsahu zasobniku pred chybou. Takze to najdes velmi lehce
Ďakujem veľmi pekne, hneď sa do toho pustím.
<joke>A smajlík kofoly by nebol?</joke>
Mám to už stiahnuté ešte odvtedy a keď chcem rozbaliť súbor jcl1.97-build2172.zip, tak mi to v TC vyhodí chybu v archíve a vo WinAce chybu v hlavičke. Čo teraz? Stiahol som ho znova tearz pred chvíľou a vyzerá to tak, že súbor je poškodený už na serveri. Ostatné súbory sú v poriadku.
Máš tam snad dost mirrorů na výběr, ne?
Zkusil jsem stáhnutí hned z tohoho prvního a jde rozbalit bez problémů.
Z prvého to ide aj mne.