Immagino che potrebbe esserci qualche problema all'interno di FormatTimeStamp funzione, ma senza codice sorgente è difficile dire qualcosa. Prova a controllare il tuo programma sotto Valgrind. Di solito questo aiuta a correggere questo tipo di bug.
Ci sono due probabili possibilità:
- un po' di codice prima della riga 798 ha corrotto il
tmpTimeStamplocale oggetto - il valore restituito da
FormatTimeStamp()era in qualche modo brutto.
Il _GLIBCXX_FULLY_DYNAMIC_STRING è molto probabilmente una falsa pista e non ha nulla a che fare con il problema.
Se installi debuginfo pacchetto per libstdc++ (Non so come si chiama su CentOS), sarai in grado di "vedere" quel codice e potresti essere in grado di dire se il lato sinistro (LHS) o il RHS dell'operatore di assegnazione ha causato il problema.
Se ciò non è possibile, dovrai eseguire il debug a livello di assembly. Entrando nel frame #2 e facendo x/4x $ebp dovrebbe darti il precedente ebp , indirizzo del chiamante (0x081402fc ), LHS (dovrebbe corrispondere a &tmpTimeStamp nel frame #3 ), e RHS. Vai da lì e buona fortuna!