GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Seltsamer SIGSEGV-Segmentierungsfehler in der Methode std::string::assign() aus libstdc++.so.6

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!


Linux
  1. Bash-Scripting:Wechsel vom Backtick-Operator zu $-Klammern

  2. Apache2-Konfigurationstest fehlgeschlagen:Segmentierungsfehler (Core-Dump) [Gelöst]

  3. Wie erstelle ich ein Array eindeutiger Elemente aus einer Zeichenfolge/einem Array in Bash?

  4. Entferne unbekannte Zeichen aus Zeichenfolge für -exec?

  5. Manipulieren Sie {} Rückgabezeichenfolge von Find -exec?

Linux – Können wir Compiler-Informationen aus einer Elf-Binärdatei erhalten?

Reduzieren Sie den Bandbreitenverbrauch durch das Herunterladen von Yum-Updates?

Möglichkeit, ein .pdf-Bild von der Befehlszeile aus zu reduzieren?

Gibt es eine Möglichkeit, von UTF8 nach ISO-8859-1 zu konvertieren?

Der einfachste Weg, einen Segmentierungsfehler zu lokalisieren

Gibt es eine Methode, um perf unter WSL auszuführen?