Finde fejl ud fra Access Violation

Tags:    delphi

Hejsa alle.

Er det muligt at finde frem til en kode-fejl ud fra en Access Violation? Det er fordi jeg har lavet et program, som bliver brugt af andre, og nogle gange kommer der en access violation, og jeg kan ikke finde fejlen selv. Problemet er jo, at de ikke har en debugger, så de kan ikke fortælle mig hvor fejlen ligger henne...



7 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
JVCL har en færdiglavet fejrapporterings dialogboks, som virker ganske udemærket. JVCL kan hentes fra http://homepages.borland.com/jedi/jvcl/
JVCL kræver at du har JCL installeret. JCL kan du finde her: http://homepages.borland.com/jedi/jcl/



Hejsa alle.

Er det muligt at finde frem til en kode-fejl ud fra en Access Violation? Det er fordi jeg har lavet et program, som bliver brugt af andre, og nogle gange kommer der en access violation, og jeg kan ikke finde fejlen selv. Problemet er jo, at de ikke har en debugger, så de kan ikke fortælle mig hvor fejlen ligger henne...


de må vel kunne fortælle dig de skridt de foretager og på den måde må du jo kunne finde frem til hvor og hvorfor den access violation kommer,

ex:
det sker når jeg trykker på åbn knappen lige efter at have startet programmet.

Så er det nok en god ide at kigge på åbn knappen.

Det er sådan man gør alle andre steder, med mindre du gider bygge et indbygget logsystem ind som fanger og udkskriver dine fejl i en tekstfil fordi det er jo en exception du ikke fanger.

Casper



Hejsa alle.

Er det muligt at finde frem til en kode-fejl ud fra en Access Violation? Det er fordi jeg har lavet et program, som bliver brugt af andre, og nogle gange kommer der en access violation, og jeg kan ikke finde fejlen selv. Problemet er jo, at de ikke har en debugger, så de kan ikke fortælle mig hvor fejlen ligger henne...


de må vel kunne fortælle dig de skridt de foretager og på den måde må du jo kunne finde frem til hvor og hvorfor den access violation kommer,

ex:
det sker når jeg trykker på åbn knappen lige efter at have startet programmet.

Så er det nok en god ide at kigge på åbn knappen.

Det er sådan man gør alle andre steder, med mindre du gider bygge et indbygget logsystem ind som fanger og udkskriver dine fejl i en tekstfil fordi det er jo en exception du ikke fanger.

Casper



Jeg har skam også forsøgt at fortælle fejlen, men det er nu ikke nemt, da det efterhånden er blevet et rimelig omfattende program med en masse komponenter, så det er lidt svært at vide helt præcis hvor fejlen ligger..




Hejsa alle.

Er det muligt at finde frem til en kode-fejl ud fra en Access Violation? Det er fordi jeg har lavet et program, som bliver brugt af andre, og nogle gange kommer der en access violation, og jeg kan ikke finde fejlen selv. Problemet er jo, at de ikke har en debugger, så de kan ikke fortælle mig hvor fejlen ligger henne...


de må vel kunne fortælle dig de skridt de foretager og på den måde må du jo kunne finde frem til hvor og hvorfor den access violation kommer,

ex:
det sker når jeg trykker på åbn knappen lige efter at have startet programmet.

Så er det nok en god ide at kigge på åbn knappen.

Det er sådan man gør alle andre steder, med mindre du gider bygge et indbygget logsystem ind som fanger og udkskriver dine fejl i en tekstfil fordi det er jo en exception du ikke fanger.

Casper



Jeg har skam også forsøgt at fortælle fejlen, men det er nu ikke nemt, da det efterhånden er blevet et rimelig omfattende program med en masse komponenter, så det er lidt svært at vide helt præcis hvor fejlen ligger..


Så er et rapporteringsværktøj vejen frem. :) - indbyg det, og send en opdatering rundt kvit og frit og modtag rapporter med ligepræcis hvilken del af din kode som laver fejl. :)

Casper



Hejsa alle.

Er det muligt at finde frem til en kode-fejl ud fra en Access Violation? Det er fordi jeg har lavet et program, som bliver brugt af andre, og nogle gange kommer der en access violation, og jeg kan ikke finde fejlen selv. Problemet er jo, at de ikke har en debugger, så de kan ikke fortælle mig hvor fejlen ligger henne...


de må vel kunne fortælle dig de skridt de foretager og på den måde må du jo kunne finde frem til hvor og hvorfor den access violation kommer,

ex:
det sker når jeg trykker på åbn knappen lige efter at have startet programmet.

Så er det nok en god ide at kigge på åbn knappen.

Det er sådan man gør alle andre steder, med mindre du gider bygge et indbygget logsystem ind som fanger og udkskriver dine fejl i en tekstfil fordi det er jo en exception du ikke fanger.

Casper



Jeg har skam også forsøgt at fortælle fejlen, men det er nu ikke nemt, da det efterhånden er blevet et rimelig omfattende program med en masse komponenter, så det er lidt svært at vide helt præcis hvor fejlen ligger..


Så er et rapporteringsværktøj vejen frem. :) - indbyg det, og send en opdatering rundt kvit og frit og modtag rapporter med ligepræcis hvilken del af din kode som laver fejl. :)

Casper


Okay - det var det jeg frygtede :) Er det ikke også ret besværligt at lave et rapporteringsværktøj ? .. Er der da en metode til at håndtere alle fejl der forekommer og hvilken linje de forekommer ?




Min erfaring er at access violations kommer når du benytter array strukturer, dll-filer, divisioner.. fejl hvor pointere indgår eller hvor du glemmer at initialisere classes før du bruger dem. mit råd ville være at gennemgå alle de steder hvor du bruger classes eller array's og checke om de nogensinde ville kunne opføre sig forkert.

Jeppe Johansen
Jeppesoftware@hotmail.com



JVCL har en færdiglavet fejrapporterings dialogboks, som virker ganske udemærket. JVCL kan hentes fra http://homepages.borland.com/jedi/jvcl/
JVCL kræver at du har JCL installeret. JCL kan du finde her: http://homepages.borland.com/jedi/jcl/


Hej igen. Ved godt det er længe siden, men har haft nok at se til. Jeg fik det installeret - og hold fast hvor er Delphi blevet meget sjovere at lege med efter alle de komponenter :)

- Jeg fandt dog ikke den fejlrapportertings dialogboks, men jeg fandt en anden metode til at finde linje osv, og har nu selv bygget en dialogboks.

Tak for hjælpen!



t