2011-08-15 2 views
0

내가 STL lib set :: find 또는 empty()에 도달하기를 원할 때 core 파일이있다.왜 STL은 find() & empty()에 코어 덤프를 설정합니까?

난 GCC 버전 4.1.2를 사용하고 20,070,115 (시험판) (수세 리눅스) 스택 흐름 참조주세요

#0 0x00002aaaae7caf2a in _STL::_Rb_tree<unsigned int, unsigned int, 
_STL::_Identity<unsigned int>, _STL::less<unsigned int>, 
_STL::allocator<unsigned int> >::empty (this=0x8) 
    at /home/irish/nagrun/add-ons/include/stlport/stl/_tree.h:370 
#1 0x00002aaaae7caf4f in _STL::set<unsigned int, _STL::less<unsigned int>, _STL::allocator<unsigned int> >::empty (this=0x8) 
    at /home/irish/nagrun/add-ons/include/stlport/stl/_set.h:129 
#2 0x00002aaaae7ca5d1 in User::deleteSessionID (this=0x0, sessionID=4143972353) 
    at /home/irish/nagrun/NIG_SRC/PresenceEx_V100R001C41B010/Extends/UserManager/User.cpp:60 

하는 방법이 가능할 수? 반복자를 사용하여 세트에 삽입하고 그 내부를 트래버스 할 수 있습니다.

+1

아마도 프로그램이 정의되지 않은 동작을 호출합니까? 문제를 재현하는 코드를 제시해야합니다. 충돌은 흔히 프로그램의 다른 곳에 버그가 있다는 신호입니다. – Vlad

+1

코드를 보지 않고 누구를 도울 수 있습니까? – Nawaz

+1

'this = 0x8' &'this = 0x0'는 나를 혼란스럽게합니다. 포인터로 세트에 액세스합니까? –

답변

0

당신이 의견에 맞았 : 나는 User null 포인터를 통해 함수를 호출하고있다.

스택 추적이 표준 라이브러리 함수 내에서 깊이 시작되어서 문제가 find 인 것으로 믿을 수있게하기 때문에이를 인식하지 못했습니다.