저는 Xcode 디버거를 사용하는 것을 좋아합니다. 변수의 값을보고 변경할 수도 있습니다.
그러나 이미지 변수가 참조하는 이미지를 어떻게 든 표시 할 수 있습니까? 원시 바이트를 볼 수 있지만 내용이있는 창을 표시하는 것이 훨씬 더 인간 친화적 일 것입니다.
Xcode는 이것을 지원하지 않을 수 있습니다. 이미지를 표시하는 데 도움이되는 외부 도구가 있습니까?
답변
Quick Look 을 사용 하여 Xcode 디버거에서 이미지를 검사합니다.
를 선택 NSImage
하거나 UIImage
디버거에서 다음 훑어보기 “눈”아이콘을 클릭합니다.
OS X의 다른 영역과 마찬가지로 spacebarQuick Look 에도 사용할 수 있습니다 !
디버거의 Quick Look은 자신의 클래스에 대해 구현할 수도 있습니다.
Xcode 디버거의 변수 훑어보기 기능을 사용하면 그래픽 렌더링을 통해 객체 변수의 상태를 빠르게 시각적으로 평가할 수 있으며, 디버거 변수보기 또는 소스 코드의 위치에있는 팝 오버 창에 표시됩니다.
이 장에서는 사용자 정의 클래스 유형에 대해 Quick Look 메서드를 구현하여 해당 유형의 개체 변수를 Quick Look 팝 오버 창에서 시각적으로 렌더링 할 수도 있습니다.
답변
편집하다:
Xcode 5부터 디버거는 UIImage / CGImageRef 변수의 시각적 표현을 보여줄 수 있습니다!
Xcode 자체로는 할 수 없습니다. 나는 외부 도구에 대해 모른다.
디버깅하는 동안 이미지를 테스트하기 위해 내가하는 일은 원시 데이터를 .png와 같은 이미지 파일 형식으로 변환 한 다음 어딘가에 저장 한 다음 이미지보기 도구로 이미지를 여는 것입니다.
기본적으로 다음과 같은 목적을위한 코드가 있습니다.
NSData *imageData = UIImagePNGRepresentation(self.myUIImage);
[imageData writeToURL:desktopURL atomically:YES];
그리고이 코드를 복사하여 실행중인 이미지의 내용을보고 싶은 곳에 붙여넣고 있습니다.
확인의 전환의 높은 비용이 수 때문에 가능한 한 빨리이 코드를 제거 할 수 있도록 UIImage
하는NSData
답변
Xcode 5 편집 : 이제 이미지 변수 이름 위로 마우스를 가져 가면 오른쪽에 “눈”아이콘이 있습니다. 클릭하면 현재 이미지를 볼 수 있습니다!
참고 : 때때로 이미지가 정확하더라도 Xcode에서 실패합니다. 이 경우 또는 UIImage 변수가없는 경우 (예 : 다른 개체의 속성 인 경우에도 이전 답변을 사용할 수 있습니다.)
이전 답변 : Avraham의 답변으로 시작하여 다시 컴파일하거나 뷰에 추가하지 않고도 lldb에서 iOS 이미지를 표시하는 몇 가지 실험을 시도했습니다. 나는 마침내 다음을 생각 해냈다.
e [UIImagePNGRepresentation(myImage) writeToFile:@"/Users/<userName>/Desktop/myImage.png" atomically:NO];
이 문자열을 텍스트 편집기에 보관하고 필요할 때 붙여 넣습니다. 이것은 내가 관심있는 현재 이미지 (이 경우 “myImage”)를 데스크탑의 PNG 파일에 저장합니다. 그런 다음 미리보기로이 파일을 열 수 있습니다.
iOS 기기에서 작업하는 경우 다음을 사용할 수 있습니다.
e [UIImagePNGRepresentation(myImage) writeToFile:[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0] stringByAppendingString:@"/myImage.png"] atomically:NO];
그런 다음 Finder를 사용할 수 있습니다. 장치를 선택하십시오. “파일”; 그런 다음 dev 앱을 클릭하고 이미지를 데스크톱에 복사하여 봅니다.
답변
lldb 콘솔로 작업하려면 chisel 명령 “visualize”를 사용하십시오.
팁:
설치 후 “visualize myUIImageToShowWithQuickLook”조치로 UIImage를 설정 한 후 조건부 중단 점을 설정할 수 있습니다.
그러면 디버거가 중지 될 때 이미지가 자동으로 표시됩니다.
답변
답변
이미지 줄에 중단 점을 넣은 다음 디버거에서 다음과 같이 작성할 수 있습니다.
po your_UIImage_object
po
을 의미하며 print object
전달 된 객체 (귀하의 경우 이미지)에 대한 몇 가지 유용한 정보를 표시하는 GDB 명령입니다.