2012-12-22 8 views
9

메모리 또는 메모리 손상 상황으로 인해 응용 프로그램에서 BugSense를 통해 발견 된 가끔씩 다운 된 문제가 발생하여이를 추적 할 수있게되었습니다.GuardMalloc의 가상 메모리 사용량이 줄어 듭니다

  • malloc에 ​​낙서
  • malloc에 ​​경비대는
  • 의 malloc 스택
  • ,691 로깅 개체
  • 목표 - C 좀비
  • 가드의 malloc을 가장자리
  • 로그 예외.

시뮬레이터 (30 초 미만)의 비트 응용 프로그램과 상호 작용 한 후, 다음과 같은 메시지가 표시됩니다 : 그것은 활성화와 함께 가드의 malloc와

GuardMalloc[TrafficDemoEmp-2430]: allocate_pages(): virtual memory exhaused! 
GuardMalloc[TrafficDemoEmp-2430]: expandUniquingTable(): VMCopyFailed 
GuardMalloc[TrafficDemoEmp-2430]: allocate_pages(): virtual memory exhaused! 
GuardMalloc[TrafficDemoEmp-2430]: expandUniquingTable(): VMCopyFailed 

앱이 잘 작동 불가능하지만, 앱이 이러한 메시지와 충돌합니다. 누수 및 할당 도구로 프로필을 작성하면 누수가 발견되지 않으며 30MB에서 80MB 사이의 모든 메모리 범위에 대한 라이브 바이트 값 (시간에 따라 달라짐)이 표시됩니다. 확실히 그것은 앱을위한 너무 많은 메모리가 아닙니다.

그러나 메시지는 너무 많은 메모리를 사용하여 내 응용 프로그램을 가리키고 있지만 가상 메모리 부족으로 이어지는 이유를 모르겠습니다. Xcode에서 사용할 수있는 다른 도구 또는 디버거 설정이 있습니까?

감사합니다,
데이비드

+3

NSZombies를 사용하면 실제로 자유롭게 해제 할 수 없으므로 많은 양의 할당을 수행하는 경우 메모리를 소모합니다. – user1118321

+0

좀비를 비활성화하면이 문제가 해결됩니다. 감사. –

+0

안녕하세요, 같은 문제가 거기에 있었고 좀비를 사용 중지하는 것으로 수정되었습니다. 감사합니다. 하지만 그 영향력을 얻지 못해서 제발 제발 설명해 주실 래요? – Nikunj

답변

9

는 User1118321은 옳았다. NSZombies가이 문제의 원인이었습니다.

답변을 제출하면 답변을받을 수 있습니다.

관련 문제