Xcode 디버깅 - 이미지 표시
저는 Xcode 디버거를 사용하는 것을 좋아합니다.변수의 값을 확인하고 변경할 수도 있습니다.
하지만 이미지 변수에서 참조하는 이미지를 어떻게든 표시할 수 있습니까?원시 바이트를 볼 수 있다는 것을 알고 있지만 내용이 포함된 창을 표시하는 것이 훨씬 더 인간 친화적일 것입니다.
Xcode는 이를 지원하지 않을 수 있습니다.혹시 이미지를 표시하는 데 도움이 되는 외부 도구가 있을까요?
Quick Look을 사용하여 Xcode 디버거의 이미지를 검사합니다.
선택NSImage
또는UIImage
디버거에서 Quick Look "eye" 아이콘을 클릭합니다.
OS X의 다른 영역과 마찬가지로 Quick Look을 사용할 수도 있습니다!
디버거의 빠른 보기는 사용자 자신의 클래스에 대해서도 구현할 수 있습니다.
Xcode 디버거의 변수 Quick Look 기능을 사용하면 그래픽 렌더링을 통해 개체 변수의 상태를 빠르게 시각적으로 평가할 수 있습니다. 그래픽 렌더링은 디버거 변수 보기 또는 소스 코드의 위치에 표시됩니다.
이 장에서는 사용자 정의 클래스 유형에 대한 빠른 보기 방법을 구현하여 해당 유형의 개체 변수도 빠른 보기 팝업 창에서 시각적으로 렌더링할 수 있도록 하는 방법에 대해 설명합니다.
lldb 콘솔로 작업하려면 chissel 명령 "시각화"를 사용합니다.
팁:
설치 후 다음 작업을 사용하여 UI이미지를 설정한 후 조건부 중단점을 설정할 수 있습니다. "시각화 내빠른 모양으로 표시할 UI 이미지"
디버거가 중지되면 이미지가 자동으로 표시됩니다.
편집:
Xcode 5부터, 디버거는 UIImage/CGImageRef 변수의 시각적 표현을 보여줄 수 있습니다!
Xcode 자체는 할 수 없습니다.저는 외부 도구에 대해 잘 모릅니다.
디버깅하는 동안 이미지를 테스트하기 위해 제가 하는 일은 원시 데이터를 .png와 같은 이미지 파일 형식으로 변환한 다음 어딘가에 저장하고 이미지 보기 도구로 이미지를 여는 것입니다.
그런 목적을 위한 코드가 있습니다. 기본적으로 다음과 같습니다.
NSData *imageData = UIImagePNGRepresentation(self.myUIImage);
[imageData writeToURL:desktopURL atomically:YES];
이 코드를 복사해서 붙여넣어서 실행 중인 이미지의 내용을 확인할 수 있습니다.
변환 비용이 많이 들기 때문에 가능한 한 빨리 이 코드를 제거해야 합니다.UIImage
NSData
Xcode 5에 대한 편집: 이미지 변수 이름 위에 마우스를 놓으면 오른쪽에 "눈" 아이콘이 있습니다.현재 이미지를 보려면 클릭하십시오!
참고: 이미지가 정확하더라도 Xcode에서 이 작업이 실패할 수 있습니다.이 경우 또는 UIImage 변수(예: 다른 개체의 속성)가 없는 경우에도 이전 대답을 사용할 수 있습니다.
이전 답변: 에이브러햄의 답변을 시작으로, 저는 다시 컴파일하거나 뷰에 추가할 필요 없이 lldb의 iOS 이미지를 표시하기 위한 몇 가지 실험을 시도했습니다.마침내 생각해 낸 것은 다음과 같습니다.
e [UIImagePNGRepresentation(myImage) writeToFile:@"/Users/<userName>/Desktop/myImage.png" atomically:NO];
저는 이 문자열을 텍스트 편집기에 보관하고 필요할 때 붙여넣습니다.이렇게 하면 관심 있는 현재 이미지(이 경우 "내 이미지")가 바탕 화면의 PNG 파일에 저장됩니다.그러면 미리 보기로 이 파일을 열 수 있습니다.
iOS 기기에서 작업하는 경우 다음을 사용할 수 있습니다.
e [UIImagePNGRepresentation(myImage) writeToFile:[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0] stringByAppendingString:@"/myImage.png"] atomically:NO];
그런 다음 Finder를 사용하여 장치를 선택하고 "파일"을 선택한 다음 개발 앱을 선택한 다음 바탕 화면에 이미지를 복사하여 볼 수 있습니다.
변수 보기를 통해 이미지에 액세스할 수 없으면 어떻게 합니까?
@pkamb가 말한 것과 일치 - 변수 보기를 사용하여 이미지를 빠르게 볼 수 있습니다.하지만 이미지에 도달할 수 없다면 어떻게 해야 할까요?
예를 들어, 나는 이미지를 가지고 있습니다.(contentViewController.view.subviews[0].subviews[1] as? UIImageView).image
하지만 내가 확장하려고 한다면,contentViewController
마우스 오른쪽 버튼을 클릭하여 식을 추가하면 볼 수 있습니다!
Xcode에서 변수 위에 마우스를 놓으면 아이 아이콘을 클릭합니다.
이미지 줄에 중단점을 지정한 다음 디버거에서 다음과 같이 입력할 수 있습니다.
po your_UIImage_object
po
의 약자print object
GDB 명령어는 전달된 객체(당신의 경우 이미지)에 대한 유용한 정보를 표시합니다.
언급URL : https://stackoverflow.com/questions/2780793/xcode-debugging-displaying-images
'programing' 카테고리의 다른 글
bash의 디렉토리에서 임의 파일을 선택하려면 어떻게 해야 합니까? (0) | 2023.06.04 |
---|---|
Android용 Gradle을 사용하여 외장형 aar 패키지를 수동으로 포함하는 방법 (0) | 2023.06.04 |
Aurora 페일오버로 인해 연결이 읽기 전용 상태로 유지됨 (0) | 2023.06.04 |
부분(예: 폴더 경로, 이름 및 확장명)에서 파일에 대한 전체 경로를 만들려면 어떻게 해야 합니까? (0) | 2023.06.04 |
Ruby: 인스턴스의 호출 클래스 메서드 (0) | 2023.06.04 |