내 프로젝트에서 개체에 관한 문제가 있습니다. 보기에 많은 개체가 있으며 문제가있는 특정 개체를 알고 싶습니다. 개체 ID는 0x7febf0ebcd20입니다.디버그 모드에서 개체에 대한 자세한 정보를 얻으십시오
이 개체에 대해 더 자세히 알 수 있습니까?
내 프로젝트에서 개체에 관한 문제가 있습니다. 보기에 많은 개체가 있으며 문제가있는 특정 개체를 알고 싶습니다. 개체 ID는 0x7febf0ebcd20입니다.디버그 모드에서 개체에 대한 자세한 정보를 얻으십시오
이 개체에 대해 더 자세히 알 수 있습니까?
개체 ID는 0x7febf0ebcd20
가 어떻게이 개체에 대한 자세한 내용을 알 수있다?
몇 가지 사항에 따라 다릅니다. 일반적으로 프로그램과 같이 구성 요소를 빌드 할 수 있으면 상황을 개선 할 수 있지만 사전 빌드 된 라이브러리를 사용하는 것과 같이 할 수없는 경우도 있습니다.
가능한 한 많은 디버깅 정보를 제공하도록 프로젝트가 설정되어 있는지 확인하십시오. 프로젝트에서 다음과 같이 변경하고 대상은 프로젝트에서 상속됩니다.
DEBUG=1
이 prerpocessor 기호로 설정되어 있는지 확인하십시오. 이것은 일반적으로 Unix/Linux 이상의 Windows 구성 요소에 영향을 미치지 만, 크로스 플랫폼 라이브러리에서 사용되는 것을 보았습니다.
-g3
이 CFLAGS
에 고소되어 있는지 확인합니다. -g3
은 #define
과 같은 기호 상수를 포함합니다. -ggdb
으로 설정할 수도 있지만 현재 적용되지 않습니다.
, 당신은 주소에있는 개체에 대한 정보를 인쇄하려면 디버깅 터미널 및 문제 po 0x7febf0ebcd20
로 전환 할 수 있어야한다.
Apple의 Technical Note TN2239, iOS Debugging Magic 및 Technical Note TN2124, Mac OS X Debugging Magic도 참조하십시오.
참고 : llvm은 -g3 플래그와 함께 특별한 작업을 수행하지 않으며 -g와 동일하게 처리됩니다. 이것은 gcc와의 호환성을위한 플래그로 지원됩니다. 특히 llvm은 -g3을 통과 할 때 DWARF 매크로 디버깅 정보를 생성하지 않습니다. 실제로 현재 설계된 매크로 디버그 정보는 큰 시스템 헤더 트리 (예 : Cocoa 또는 UIKit)가 포함 된 프로젝트에서 사용할 수 없도록 디버그 정보를 압축하므로 llvm이나 lldb가 지원하지 않습니다. –
좀비 오브젝트를 활성화하고 예외 브레이크 포인트를 넣으십시오. –