Zum Inhalt springen

Heap Corruptions & Impossible Errors Debugging


Empfohlene Beiträge

Geschrieben (bearbeitet)

Ich hab seit einer Weile mit den im Titel genannten Problemen zu kämpfen.

Es handelt sich um eine große ziemlich komplexe C++ Multithread Server Anwendung.

Momentan lass ich das Programm im Visual Studio Debugmodus laufen um mögliche Fehler zu finden.

Der Server läuft in der Regel für 5 bis 10 Stunden stabiel und crasht dann irgendwann entweder mit einem "Heap Corruption detected" Error beim freigeben (delete) von Speicher oder mit einem unmöglichen Fehler z.B.:


for(int x = 0; x < 9; x++)

   myObj[x]->doSomething();  // x ist jetzt auf einmal 537 und die Anwendung crasht.

Die Fehler treten ziemlich zufällig auf und nur selten an den selben Stellen.

Memory leaks kann ich nach einigen tests mit _CrtDumpMemoryLeaks() ausschliesen.

Eigentlich deutet alles auf einen Bufferüberlauf hin, der den Stack und Heap zerschießt, nur weiss ich nicht wo ich anfangen soll zu suchen.

Ich weiss das es einige Tools gibt, die dabei helfen können. Was ich mich nur frage ist, gibt es irgend ein Tool das ich mit dem Visual Studio Debugger zusammen nutzen kann?

Ich suche sowas wie Full PageHeap debugging innerhalb der Entwicklungsumgebung so das ich mich möglichst nicht mit den Crash Dumps rumschlagen muss.

Bevor ich das nämlich tue, wollte ich mal nachgefragt haben ob ich mir den Zeitaufwand auch sparen könnte.

Hattet ihr schonmal so ein Problem? Wie geht ihr sonst damit um?

Bearbeitet von Xanatus
Geschrieben

Tipps für Tools habe ich leider nicht für dich, aber die Fehlerbeschreibung klingt nach falscher oder fehlender Threadsynchronisierung. Vielleicht hat jemand kritische Stellen mit einfachen Variablen "gelockt". Oder auch mit volatile-Variablen. Das geht oft gut, aber eben nicht immer.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...