"디버그를 위해 malloc_error_break에서 중단 점을 설정"하는 방법


126

내 응용 프로그램이 충돌하지 않고 다음과 같은 많은 콘솔 출력이 표시됩니다.

malloc : * 개체 0xc6a3970에 대한 오류 : 해제되는 포인터가 할당되지 않았습니다. * malloc_error_break에서 중단 점을 디버그로 설정

영향을받는 개체 또는 변수를 어떻게 알 수 있습니까?

나는 이와 같은 상징적 중단 점을 설정하려고 시도했지만 결코 중단되지 않습니다.

여기에 이미지 설명 입력


1
사파리 검사를 비활성화하여이 문제를 해결합니다. stackoverflow.com/a/43885754/6521116
Kris Roofe

이것의 원인 중 하나는 객체를 반환해야하는 함수 / 메서드이며 함수의 끝에 도달하고 아무것도 반환하지 않습니다.
Xofo

답변:


136

Breakpoint Navigator (View-> Navigators-> Show Breakpoint Navigator 또는 ⌘7)를 열고 왼쪽 하단 모서리에있는 더하기 버튼을 클릭 한 다음 "Add Symbolic Breakpoint"를 선택하여 malloc_error_break ()에 중단 점을 설정합니다. 표시되는 팝업 malloc_error_break에서 기호 필드에 입력 한 다음 완료를 클릭합니다.

편집 : openfrog는 스크린 샷을 추가했으며 내 답변을 게시 한 후 이미 성공하지 않고 이러한 단계를 시도했다고 표시했습니다 . 그 편집으로 무엇을 말해야할지 모르겠습니다. 나는 그것이 스스로 작동하지 않는 것을 보지 못했으며 실제로 항상 malloc_error_break 세트에 중단 점을 유지합니다.


2
이것은 나를 위해 일했습니다 (모듈없이). 저에게 문제의 원인은 UIImage파일 이 백업되어 있고 다른 이미지로 파일을 덮어 썼기 때문입니다. 이로 인해 UIImagePNGRepresentation원본 이미지를 호출 할 때 오류가 발생했습니다 (파일을 실제로 덮어 쓸 때가 아님).
Robert

⌘7바 의 왼쪽 하단에 더하기 버튼이 표시되지 않습니다 ⌘8.
ScottyBlades

@ScottyBlades는 바로 가기가 변경되었다고 추측합니다. 나는 ... 8 세 (7 개) 주요 엑스 코드 버전 전에이 대답을 썼다
앤드류 매드슨에게

@AndrewMadsen 걱정하지 마세요. 편집하는 것이 타당한 지 확인하는 것뿐입니다.
ScottyBlades

46

스크린 샷에서 모듈을 지정하지 않았습니다. "libsystem_c.dylib"를 설정해보십시오.

여기에 이미지 설명 입력

나는 그것을했고 그것은 작동합니다 : 중단 점이 여기에서 멈 춥니 다 (스택 트레이스는 종종 모호한 시스템 라이브러리에서 상승하지만 ...)


7
iOS에서 모듈 이름이 다른 것 같습니다 libsystem_malloc.dylib.. 중단 점은 모듈을 지정하지 않고도 나를 위해 작동합니다.
Nestor

6

Xcode에서 같은 문제가 발생했습니다. 나는 당신이 준 단계를 따랐지만 작동하지 않았습니다. 내가 본 모든 포럼에서이 문제에 대한 모든 단서가 당신이 준 단서이기 때문에 나는 미쳤습니다. 나는 마침내 malloc_error_break 뒤에 공백을 넣는 것을 보았고 그것을 억제하고 이제 작동합니다. 바보 같은 문제이지만 솔루션이 작동하지 않으면 malloc_error_break 전후에 공백을 두지 않았는지 확인하십시오.

이 메시지가 도움이되기를 바랍니다 ..


4

일부 폴더 (특히 / usr / bin /)에 쓸 필요가 없어야하는 권한을 부여했고 이로 인해 문제가 발생했습니다. 디스크 유틸리티를 열고 Macintosh HD 디스크에서 '디스크 권한 복구'를 실행하여 문제를 해결했습니다.


고마워, 이것은 내 지루한 기계를 고쳤다.
Matt Fletcher 2014

2

가까운 사파리 인스펙터로 해결합니다. 내 게시물을 참조하십시오 . 또한 테스트를 위해 앱을 실행할 때 소리가 나는 것을 발견 한 다음 자동 검사기를 켠 상태에서 사파리를 연 후 앱에서 몇 가지 작업을 수행하면이 문제가 트리거됩니다.

여기에 이미지 설명 입력

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.