Xcode 디버깅-이미지 표시
저는 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 편집 :
이제 이미지 변수 이름 위로 마우스를 가져 가면 오른쪽에 "눈"아이콘이 표시됩니다. 클릭하면 현재 이미지를 볼 수 있습니다! UIImage 변수가없는 경우 (예 : 다른 개체의 속성 인 경우에도 이전 답변을 사용할 수 있습니다.)
이전 답변 : 이전 질문이지만 답변을 찾고있었습니다. Avraham의 답변으로 시작하여 다시 컴파일하거나 뷰에 추가하지 않고도 lldb에서 iOS 이미지를 표시하는 몇 가지 실험을 시도했습니다. 나는 마침내 다음을 생각 해냈다.
po [UIImagePNGRepresentation(watchImage) writeToFile:@"/Users/<userName>/Desktop/watchImage.png" atomically:NO];
이 문자열을 텍스트 편집기에 보관하고 필요할 때 붙여 넣습니다. 이것은 내가 관심있는 현재 이미지 (이 경우 "watchImage")를 데스크탑의 PNG 파일에 저장합니다. 그런 다음 미리보기로이 파일을 열 수 있습니다.
lldb 콘솔로 작업하려면 chisel 명령 "visualize"를 사용하십시오.
팁:
설치 후 "visualize myUIImageToShowWithQuickLook"조치로 UIImage를 설정 한 후 조건부 중단 점을 설정할 수 있습니다.
그러면 디버거가 중지 될 때 이미지가 자동으로 표시됩니다.
변수보기를 통해 이미지를 볼 수 없다면 어떻게해야합니까?
@pkamb가 말한 것을 반향-변수보기를 사용하여 이미지를 빠르게 볼 수 있습니다. 하지만 이미지를 얻을 수 없다면 어떨까요?
예를 들어 나는 이미지가 (contentViewController.view.subviews[0].subviews[1] as? UIImageView).image
하지만 contentViewController
변수보기에서 확장하려고 하면 내 하위보기가 노출되지 않습니다.
당신이 할 수있는 것은 마우스 오른쪽 버튼을 클릭하고 표현식을 추가하면 볼 수 있습니다!
이미지 줄에 중단 점을 넣은 다음 디버거에서 다음과 같이 작성할 수 있습니다.
po your_UIImage_object
po
을 의미하며 print object
전달 된 객체 (귀하의 경우 이미지)에 대한 몇 가지 유용한 정보를 표시하는 GDB 명령입니다.
참고 URL : https://stackoverflow.com/questions/2780793/xcode-debugging-displaying-images
'developer tip' 카테고리의 다른 글
C #에서 모든 #regions only (!) 축소 (Visual Studio) (0) | 2020.10.13 |
---|---|
if 문에서 여러 값에 대한 JQuery .hasClass (0) | 2020.10.13 |
iOS 7 이상 :보기 컨트롤러별로 상태 표시 줄 스타일 설정 (0) | 2020.10.13 |
방법과 선택기의 차이점은 무엇입니까? (0) | 2020.10.12 |
추가 클래스 경로 옵션을 사용하여 "java -jar MyFile.jar"호출 (0) | 2020.10.12 |