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
tmpTimeStamp
beschä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!