2016-09-21 3 views
0

Ich habe einige Probleme mit meiner app Debuggen - wenn ich versuche Parser aufrufen :: extractString (...) von GDB esGDB kann nicht nennen Funktion

Kein Symbol „extractString“ im Namensraum zurückzukehren shell "Parser".

Wenn ich ausführen

Funktionen info extractString

Ich habe diese Ausgabe

Alle Funktionen passenden regulären Ausdruck "extractString":

Datei/home/dmitriy/Quellen/transc iver/parser/json.cpp: std :: __ cxx11 :: string parser :: extractString [abi: cxx11] (rapidjson :: GenericValue, Parser :: MultithreadAllocator> const &);

Nicht Bugsymbol: 0x0000000000506500 Parser :: extractString [abi: cxx11] (rapidjson :: Generic, Parser :: MultithreadAllocator> const &) @plt 0x00007ffff77e3640 Parser :: extractString [abi: cxx11] (rapidjson :: Generic, Parser :: MultithreadAllocator> const &) @plt

Was ist das Problem mit dem Aufruf dieser Funktion? Funktion extractString in der statischen Bibliothek definiert und ohne Probleme von der Anwendung aufgerufen.

Antwort

4

gdb noch nicht unterstützt C++ 11 ABI-Tags in gcc eingeführt 5. Sehen Sie diese Fehler:

Die einfachste Abhilfe für Sie wahrscheinlich zu deaktivieren new gcc ABI durch Definieren des Makros _GLIBCXX_USE_CXX11_ABI auf 0, siehe https://gcc.gnu.org/gcc-5/changes.html#libstdcxx.

Oder alternativ können Sie versuchen, Workarounds von https://sourceware.org/bugzilla/show_bug.cgi?id=18601#c1 anwenden, obwohl sie ein bisschen komisch aussehen.

+0

sieht aus wie das mit '_GLIBCXX_USE_CXX11_ABI' in meinem Code benötigen sie auch für alle abhängigen Bibliotheken :-( Second Abhilfen verwenden funktionieren nicht - mein gdb v7.11 bei Aufruf Zitat umschließenden Funktion Name abgestürzt –

Verwandte Themen