Avatar billede jannikmunk Nybegynder
28. juli 2004 - 16:11 Der er 4 kommentarer og
1 løsning

Unhandled exception in a.exe (MFC42.DLL): 0x..5: Access Violation

Jeg har lavet en applikation i Microsoft Visual Studio C++, som jævnligt går ned med følgende fejl:

"Unhandled exception in abc.exe (MFC42.DLL): 0xC0000005: Access Violation."

Jeg kan se at MFC42.DLL anvendes af rigtigt mange forskellige applikationer, og der er rigtigt mange som kan finde på at gå ned med den samme fejl.

Er der nogen som kan give et godt tips til at fjerne denne fejl, eller måske beskrive årsagen til at den opstår ?

På forhånd tak for hjælpen
Avatar billede jpk Nybegynder
28. juli 2004 - 16:19 #1
Det er fordi du tilgår noget hukommelse du "ikke må".
Fx hvis du kopierer data fra et char array over i et andet, men der ikke er plads.
Avatar billede arne_v Ekspert
28. juli 2004 - 16:20 #2
access violation = forsøge at bruge data på en adresse som du ikke har adgang til

typisk en pointer som peger forkert eller noget lignende

at fejlen opstår i MS kode behøver ikke at betyde at fejlen ligger i
deres kode - du kan nemlig havde kaldt en funktion med forkerte data
Avatar billede jpk Nybegynder
28. juli 2004 - 16:21 #3
hvis du kompilerer i debug mode, kan du vælge at debugge når fejlen kommer.
Så kan du se hvor det sker (call stack) og værdien af dine variabler...
Avatar billede arne_v Ekspert
28. juli 2004 - 16:24 #4
Den kan også komme ved et array der er for lille, men typisk vil det resultere
i forkerte data ikke en access violation. En uninitialiseret pointer har
rimeligt gode chancer for at generere en access vioaltion.
Avatar billede jannikmunk Nybegynder
29. juli 2004 - 12:44 #5
Tak for hjælpen (jeg har ikke prøvet jeres fif af endnu, men jeg håber det hjælper mig videre)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester