Zufällige Abstürze beheben

Ich bin immer zufällige Abstürze auf meinem C++ - Anwendung, es kann nicht Abstürzen, für einen Monat, und dann crash 10 mal in einer Stunde, und manchmal kann es zum Absturz beim starten, während manchmal kann es zum Absturz nach einigen Stunden Betrieb (oder nicht-crash).

Ich benutze GCC unter GNU/Linux und MingW unter Windows, daher kann ich nicht verwenden, die Visual Studio JIT-Debuggen...

Ich habe keine Idee, wie Sie Vorgehen sollen, suchen zufällig auf den code würde nicht funktionieren, der code ist RIESIG (und das gute Teil war nicht mein Werk, hat es auch einige gute Menge von legacy-Zeug), und ich habe auch keine Ahnung haben, wie reproduzieren Sie den Absturz.

EDIT: Viele Leute erwähnt, dass..., wie mache ich einen core dump, minidump oder whateverdump? Dies ist die erste Zeit, die ich brauche post-mortem-debugging.

EDIT2: Tatsächlich, DrMingw erfasst eine call-stack, kein memory-info... Leider, den call-stack nicht half mir viel, denn in der Nähe des Ende, als es plötzlich gehen Sie in eine Bibliothek (oder so), dass ich nicht die debug-info, die sich nur in einige hexadezimale zahlen... So ich muss noch ein paar anständige dump, gibt mehr Informationen (speziell über das, was war in der Erinnerung... speziell, was war in dem Ort gab, dass der "access violation" - Fehler)

Außerdem ist meine Anwendung verwenden Lua und Luabind, vielleicht der Fehler wird verursacht durch ein .lua-Skript, aber ich habe keine Idee, wie zu Debuggen.

Kommentar zu dem Problem - Öffnen
ist es ein multi-threaded-Anwendung? Kommentarautor: Naveen
Ich bezweifle, dass die Abstürze sind zufällig Kommentarautor: Tom Gullen
Die Ursache ist wahrscheinlich nicht zufällig zu sein (hängender Zeiger, doppeltes löschen, memory corruption), aber die Symptome werden zufällig (oder genauer nicht-deterministisch) Kommentarautor: the_mandrill
Herr Speeder, wie Sie planen, zu gehen? Das ist ein Interessantes problem zu lösen. Kommentarautor: user373215
Ich habe noch zufällige Abstürze, die sind wirklich selten (sogar versucht, Sie auszulösen, war erst kürzlich gescheitert ist...), auch ich begann zu speichern alle Dr. MingW-crash-dumps, und jedes mal ist es eine ANDERE Sache (auch wenn es stürzt auf die gleiche Weise) und einmal Dr. MingW selbst abgestürzt ist, beim Versuch Sie zu laden ein "unendlich" - stack (sprich: zwei hex-codes abgewechselt werden im stack, für immer... nach einer Weile begann es zu laufen, aus dem Speicher drucken, und stürzte sich) Kommentarautor: speeder

InformationsquelleAutor der Frage speeder | 2010-08-09

Schreibe einen Kommentar