2011-04-06 2 views
0

메모리 누출 도구를 만들고 있는데,이 도구는 테스트 프로그램에서만 메모리 누수를 잡아야하지만, 실제로 발생하는 것은 timer_create API를 사용하여 타이머를 만들었습니다 (POSIX) , 그리고 이것은 어떻게 든 144 + 56 바이트의 누출을 야기합니다.timer_create (메모리 누수)에 대해

어떤 방법으로 중지시킬 수 있습니까? timer_create의 모든 malloc 요청이 기록되지 않도록하려면 어떻게해야합니까?

타이머 스레드 함수 방법을 사용 중이며 신호가 아닙니다. SIGEV_THREAD

+0

이미 메모리 누수를 감지하는 'valgrind'가 있다는 것을 알고 계셨습니까? – ThiefMaster

+0

ARM 및 mips 대상에서 메모리 누수를 감지 할 수 있습니까? – kingsmasher1

+0

@ThiefMaster : 바탕 화면보다 더 큰 세계가있을 것입니다. 따라서 x86 (이전 데스크톱)에 대한 생각을 제한하지 마십시오 :-) – kingsmasher1

답변

0

내가보고 된 메모리 누수의 모든 N, 그냥 어떤 작은 일정한 것으로 나타납니다 볼 수 없습니다, 그래서 내 초기 추측이 타이머 스레드 시스템을 설정하고하지 않는 순수 한 번 오버 헤드 때문이다 실제 메모리 누출 strace으로 프로그램을 실행하고 타이머가 삭제되었는지 확인하십시오. 그렇다면 내부 메모리가 무엇이든지 구현의 품질 문제이며 프로그램의 잠재적 인 오류는 아닙니다.

그런데 다른 좋은 테스트 방법은 10 또는 100 타이머를 만든 다음 모두를 파괴하고 "누출 된"메모리 양을 비교하는 것입니다. 그것이 하나와 동일하다면 아무런 문제가 없다고 말할 것입니다.

+0

나는 이것을 시험하고있다.. 정크 – kingsmasher1

관련 문제