2014-09-27 2 views

답변

-1

개체 ID는 0x7febf0ebcd20
가 어떻게이 개체에 대한 자세한 내용을 알 수있다?

몇 가지 사항에 따라 다릅니다. 일반적으로 프로그램과 같이 구성 요소를 빌드 할 수 있으면 상황을 개선 할 수 있지만 사전 빌드 된 라이브러리를 사용하는 것과 같이 할 수없는 경우도 있습니다.

가능한 한 많은 디버깅 정보를 제공하도록 프로젝트가 설정되어 있는지 확인하십시오. 프로젝트에서 다음과 같이 변경하고 대상은 프로젝트에서 상속됩니다.

DEBUG=1이 prerpocessor 기호로 설정되어 있는지 확인하십시오. 이것은 일반적으로 Unix/Linux 이상의 Windows 구성 요소에 영향을 미치지 만, 크로스 플랫폼 라이브러리에서 사용되는 것을 보았습니다.

enter image description here

-g3CFLAGS에 고소되어 있는지 확인합니다. -g3#define과 같은 기호 상수를 포함합니다. -ggdb으로 설정할 수도 있지만 현재 적용되지 않습니다.

가능한 디버깅 정보를

enter image description here

, 당신은 주소에있는 개체에 대한 정보를 인쇄하려면 디버깅 터미널 및 문제 po 0x7febf0ebcd20로 전환 할 수 있어야한다.

Apple의 Technical Note TN2239, iOS Debugging MagicTechnical Note TN2124, Mac OS X Debugging Magic도 참조하십시오.

+0

참고 : llvm은 -g3 플래그와 함께 특별한 작업을 수행하지 않으며 -g와 동일하게 처리됩니다. 이것은 gcc와의 호환성을위한 플래그로 지원됩니다. 특히 llvm은 -g3을 통과 할 때 DWARF 매크로 디버깅 정보를 생성하지 않습니다. 실제로 현재 설계된 매크로 디버그 정보는 큰 시스템 헤더 트리 (예 : Cocoa 또는 UIKit)가 포함 된 프로젝트에서 사용할 수 없도록 디버그 정보를 압축하므로 llvm이나 lldb가 지원하지 않습니다. –

관련 문제