Unhandled exception...

baeman

Mitglied
servus, hab mal wieder ein Problem...
bin seit mehreren Monaten an einem Projekt. [Dialog baisert]

hat in letzter zeit auch alles hingehauen, bekomme aber jetzt ploetzlich
folgenden RunTimeError:

Unhandled exception at 0x7c901010 in lop_gui_v1.exe: 0xC0000005: Access violation reading location 0x20202050.

msdn sagt:

SYMPTOMS

While repeatedly loading an XML document using MSXML.dll version 5.0.2314.1000, an application may stop responding with the following application error: The instruction at "0x7111a681" referenced memory at "0x00000000". The memory could not be read. Click on OK to terminate the application. Click on CANCEL to debug the application.
If you click CANCEL, Microsoft Visual C++ is installed as the default debugger, a Visual C++ dialog box displays an Unhandled exception in xxx.exe (MSXML.dll): 0xC0000005: Access Violation.
RESOLUTION

A supported fix for the MSXML.dll that corrects this problem is now available from Microsoft, however it has not been fully regression tested and should be applied only to systems experiencing this specific problem.

To resolve this problem immediately, contact Microsoft Product Support Services to obtain the fix. For a complete list of Microsoft Product Support Services phone numbers and information on support costs, please go to the following address on the World Wide Web:



Kann mir jemand weiterhelfen?
 
ach ja, nochwas:

Zeile im Disassembly:
7C901010 cmp dword ptr [edx+14h],0

und beim debuggen mit "Release" funktioniert es, wobei er dann anderen Muell macht.

Im "normalen" Debug-Modus bleibt er hier haengen...

vielen DANK!!
 
Hast du mal kontrolliert, ob alle Variablen und Zeiger richtig initialisiert sind? Unterschiedliche Verhaltensweisen im Debug- und Release-Modus werden meist durch nicht oder falsche initialisierte Zeiger oder Variable verursacht, weil sie im Debug-Modus voerinitialisiert werden, im Release-Modus nicht. Auch die Fehlermeldung "Zugriffsverletzung" weist darauf hin, daß irgendein Zeiger ins Leere zeigt.

Mfg

langer
 
stimmt, der Meldung nach koennte es schon in diese Richtung gehen...
wobei es mich wundert, warum es nach einer vermeidlich "kleinen" Aenderung
nun zu dieser Fehlermeldung kommt. Aber hab auch die Aenderungen
rueckgaengig gemacht... wobei der Fehler bleibt... was ziemlich aergerlich ist!

Kennt sich jemand mit dem Disassembly Code aus? Und kann mir vielleicht auf diesem Weg weiterhelfen?

danke im Voraus!

gruss manuel
 
Irgend ein Zeiger zeugt auf die Adresse 0x20202050. Das sieht mir durchaus nach einem uninitialisierten Zeiger aus, der vom Debugger mit einem Default-Wert belegt wurde. Wo der Zeiger ist, kannst Du anhand des Disassembly herausfinden. Setze einen Breakpoint an die Adresse des Fehlers (0x7C901010). Dann siehst Du direkt, wo das ist, wenn er dort anhält.
 
Hi, hab es noch nicht geschafft, an die Stelle zu kommen.
Wenn ich nen Breakpoint auf 0x7C901010 setzte, und dann
versuche es zu debuggen komme ich zwar an die Stelle, aber
sehen kann ich trotzdem nichts! Hier ein kleiner Auszug aus der
Disassembly Datei...

Code:
7C900FFA add byte ptr [eax],al 
7C900FFC add byte ptr [eax],al 

7C900FFE add byte ptr [eax],al 

7C901000 nop 

7C901001 nop 

7C901002 nop 

7C901003 nop 

7C901004 nop 

7C901005 mov ecx,dword ptr fs:[18h] 

7C90100C mov edx,dword ptr [esp+4] 

7C901010 cmp dword ptr [edx+14h],0 

7C901014 jne 7C901065 

7C901016 lock inc dword ptr [edx+4] 

7C90101A jne 7C901035 

7C90101C mov eax,dword ptr [ecx+24h] 

7C90101F mov dword ptr [edx+0Ch],eax 

7C901022 mov dword ptr [edx+8],1 

7C901029 xor eax,eax 

7C90102B ret 4

gruss manuel!
 
Das sagt mir natürlich auch wenig, aber wenn Du mit Quellcode debugst, dann solltest Du diesen eigentlich auch im Disassebly-Fenster sehen. Außerdem sollte der Debugger automatisch an die entsprechende Stelle im Code springen, wenn Du in dem Meldungsfenster mit der 'unhandled exception' auf 'Wiederholen' klkickst.
und beim debuggen mit "Release" funktioniert es, wobei er dann anderen Muell macht.
Wie debugst Du mit 'Release'? Da gibt es doch gar keine Debug-Informationen.

Das ganze sieht für mich so aus, als würdest Du die Anwendung zwar im VisualStudio kompilieren, sie dann aber von der Kommandozeile (oder per Doppelklick auf die erzeugte .EXE) starten. Falls das so ist, dann solltest Du das Programm mit 'Erstellen/'Debug starten/Ausführen' aus dem VS heraus starten, um es zu debuggen.
 
also wenn ich auf wiederholen klicke bleibt er immer auf der besagten stelle im disassembly-fenster. komme garnicht so weit, dass sich die oberflaeche zeigen wuerde. er haengt schon davor.

wenn du bei ms-visual studio.NET 2003 statt debug in der auswahl einfach release auswaehlst, dann kannst du denn code genauso durcharbeiten...

starte das prog schon ueber visual studio...


gruesse - manu
 

Neue Beiträge

Zurück