2016-09-21 1 views
0

를 호출 할 수 없습니다 - 내가 파서 :: extractString (...) GDB에서이 쉘 호출 할 때 네임 스페이스에GDB는 내 응용 프로그램을 디버깅 할 몇 가지 문제가 기능을

없음 기호 "extractString"를 반환 "파서".

나는

내가이 출력

에게이

을 extractString

정보 기능을 실행하면 정규 표현식 "extractString"과 일치하는 모든 기능 :

파일/집/dmitriy/Sources/transceiver iver/parser/json.cpp : std :: __ cxx11 :: string 파서 :: 추출 문자열 [abi : cxx11] (rapidjson :: GenericValue, 파서 : MultithreadAllocator> const &);

비 디버깅 심볼 : 0x0000000000506500 파서 :: extractString [ABI : cxx11 (rapidjson :: GenericValue, 파서 :: MultithreadAllocator> CONST &)이 0x00007ffff77e3640 파서 :: extractString를 @plt [ABI : cxx11 (rapidjson :: GenericValue, 파서 :: MultithreadAllocator> const를 &) @plt

이 함수를 호출의 문제는 무엇입니까? 정적 라이브러리에 정의 된 extractString 함수이며 응용 프로그램에서 아무 문제없이 호출됩니다.

답변

4

GDB는 아직 GCC에 소개 된 C++ (11) ABI 태그를 지원하지 않습니다 5. 이러한 버그를 참조하십시오

당신을위한 가장 간단한 해결 방법은 사용하지 아마 _GLIBCXX_USE_CXX11_ABI 매크로를 0으로 정의하여 새로운 gcc ABI를 확인하려면 https://gcc.gnu.org/gcc-5/changes.html#libstdcxx을 참조하십시오.

또는 다소 이상하게 보이지만 https://sourceware.org/bugzilla/show_bug.cgi?id=18601#c1에서 대안을 적용 할 수 있습니다. 내 gdb를 v7.11이 인용-둘러싸는 함수 이름을 호출에 추락 -

+0

도 작동하지 않습니다 두 번째 해결 방법 :-(모든 종속 라이브러리를 사용하여 필요 내 코드에서 그 사용'_GLIBCXX_USE_CXX11_ABI' 것 같은데 –

관련 문제