PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C++ .exe debuggen


dav133
2011-06-21, 13:40:38
Hi!

Bin an einer Anwendung, die mittlerweile ~15000 loc umfasst und nie terminieren darf, weil sie u.a. Börsenkurse abgreift.

Problem ist jetzt, dass die .exe so alle 15h abschmiert und mir diese Meldung hinterlässt:

http://i.imgur.com/Udpym.png

Yay! Jetzt hätt ich da ganz gern mehr Infos zu, wo ich denn nun genau mit dem Debugging ansetzen muss, aka wo ich höchstwahrscheinlich mit Nullpointern jongliere.

Konfiguration ist Win XP SP 2 und VS 2008 Enterprise auf einer virtuellen Workstation bei der deutschen Börse. Erzähle das nur, um dem Vorschlag vorzubeugen, Visual Studio 2010 zu installieren - wenn das denn überhaupt was besser könnte ;).

Gruß

Trap
2011-06-21, 14:03:32
http://msdn.microsoft.com/en-us/library/bt727f1t(v=VS.90).aspx
oder
http://support.microsoft.com/kb/241215/en-us bzw. http://support.microsoft.com/kb/931673/en-us

dav133
2011-06-21, 14:30:43
http://msdn.microsoft.com/en-us/library/bt727f1t(v=VS.90).aspx
oder
http://support.microsoft.com/kb/241215/en-us bzw. http://support.microsoft.com/kb/931673/en-us

Spitze!

Link #1 entfällt, weil VS 2008 express, Link #3 entfällt, weil XP aber mit dem Tipp aus dem zweiten Link scheints zu klappen. Habs jetzt mal provoziert:


int *p = NULL;
*p = 123;


Das erstellte dumpfile bringt mich nach dem ausführen dann direkt zu der Stelle im Code die für den Absturz verantwortlich war.

Bin noch auf eine alternative Lösung gekommen: In Visual Studio ist es auch möglich, sich an einen laufenden Prozess anzuhängen. Das Ergebnis davon scheint dann das gleiche zu sein.

Danke soweit!

Coda
2011-06-21, 17:48:32
Exception 0xC0000005 ist übrigens Access Violation. Läuft das Zeug nur auf Windows?

dav133
2011-06-21, 18:36:37
Exception 0xC0000005 ist übrigens Access Violation. Läuft das Zeug nur auf Windows?

yop.

Hab jetzt mal alle Typen von Exceptions im userdebug-Tool angehakt und hoffe dass er morgen früh wieder abgeschmiert ist ;)