Gå til innhold

Minnefeil problem i .NET program


Anbefalte innlegg

Jeg har skrevet et program på rundt 1500 linjer som snakker med Word.

 

Når jeg avslutter Word får jeg en litt skummel feil:

"Instruksjonen i "0x0a0b3171" refererte til adresse "0x0b2e59a4". Minnet kunne ikke være "read".

I toppen av messagebox'en står det: ".NET-BroadcastEventWindow.1.0.5000.0.e: WINWORD.EXE.

 

Jeg skjønner at det er noe feil jeg har gjort i koden min, ett eller annet objekt som ikke er frigjort eller likende, men hvordan feilsøker man en sånn feilmelding??

Lenke til kommentar
Videoannonse
Annonse

den der får du når du kjører release'n du har kompilert, sant? Det var i alle fall det jeg fikk. Det som da var problemet var en unhandled exception. kompiler den i debug, finn ut hvor det feiler (sjekk callstack og slikt når den feiler), så kan du legge inn en break i koden og steppe... (ganske vanlig debugging mao :p)

Lenke til kommentar

Det der er en direkte programmeringsfeil lavere en .NET, men den kan komme som følge av noe du har gjort, eller kanskje mer noe du ikke har gjort...

 

Jeg tenkte at kanskje noen ville vite hva de feilmeldingene der er for noe, så jeg legger til det.

The memory at location "[ADRESSE]" could not be "written/read"

 

Det betyr at én enkelt instruksjon, for det meste call, jmp, j[cc] og mov

Hvis du får slike feil er det fordi at en variabel eller register inneholder en peker til et ugyldig minne området (det være seg 0xcdcdcdcd, 0xfefefefe, 0x00000000 eller et annet området som enten er frigitt, eller som programmet ditt ikke har tilgang til)

 

Så når .NET gir en sånn feil (som ALDRI skal komme, fordi programmene er såkalt managed)

 

med andre ord: sånne feil skal du kun kunne få i C++.NET

Endret av GeirGrusom
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...