Ich schätze, es könnte ein Problem innerhalb von FormatTimeStamp geben funktionieren, aber ohne Quellcode ist es schwer, etwas zu sagen. Versuchen Sie, Ihr Programm unter Valgrind zu überprüfen. Normalerweise hilft dies, solche Fehler zu beheben.
Es gibt zwei wahrscheinliche Möglichkeiten:
- irgendein Code vor Zeile 798 hat den lokalen
tmpTimeStampbeschädigt Objekt - der Rückgabewert von
FormatTimeStamp()war irgendwie schlecht.
Die _GLIBCXX_FULLY_DYNAMIC_STRING ist höchstwahrscheinlich ein Ablenkungsmanöver und hat nichts mit dem Problem zu tun.
Wenn Sie debuginfo installieren Paket für libstdc++ (Ich weiß nicht, wie es auf CentOS heißt), Sie können in diesen Code "hineinsehen" und möglicherweise feststellen, ob die linke Seite (LHS) oder die rechte Seite des Zuweisungsoperators verursacht wurde das Problem.
Wenn dies nicht möglich ist, müssen Sie dies auf Assemblyebene debuggen. Gehe in Frame #2 und mache x/4x $ebp sollte Ihnen vorher ebp geben , Anruferadresse (0x081402fc ), LHS (sollte mit &tmpTimeStamp übereinstimmen in Rahmen #3 ) und RHS. Gehen Sie von dort aus und viel Glück!