2010-05-06 42 views
54

Xcode hata ayıklayıcısını kullanmayı seviyorum. Değişkenin değerlerine her zaman göz atabilir, hatta değiştirebilirsiniz.Xcode hata ayıklama - görüntüleri gösterme

sorun u görüntüleri sınarken yükselir ve burada soru açılır:

ben bir şekilde görüntü değişkeni tarafından başvurulan resim görüntüleyebilir? Bunun ham baytını görebildiğimi biliyorum, ancak içeriğiyle bir pencere açacak olursak çok daha insani dost olurdu.

Xcode bunu desteklemeyebilir. Belki buna yardımcı olacak harici bir araç var mı?

cevap

16

DÜZENLEME: Xcode 5 itibarıyla
, ayıklayıcı size UIImage/CGImageRef değişkenlerin görsel temsilini gösterebilir!

XCode kendisi bunu yapamaz. Dış aletler hakkında bilmiyorum.

Hata ayıklama işlemi sırasında bu ham verileri .png gibi bir görüntü dosyası biçimine dönüştürmek ve daha sonra herhangi bir görüntü izleme aracıyla görüntüyü açmak istiyorum iken görüntüleri test etmek için ne yapıyorum? .

Ben böyle temelde bakmak bu amaçla bir kod parçası vardır:

NSData *imageData = UIImagePNGRepresentation(self.myUIImage); 
[imageData writeToURL:desktopURL atomically:YES]; 

Ve ben sadece kopyalayıp yapıştırma ediyorum ben kaçak bir görüntünün içeriğini görmek istiyorum bu kodu.

Sen ayıklayıcısında sonra görüntünün satır kesme noktası koymak ve olabilir NSData

+2

sadece merak ettiniz: neden "(ve yapmamalısınız") diyorsunuz? insanlar bir zamanlar bilgisayarların "çok pahalı" olduğu gibi "renkli ekranlara" sahip olmaması gerektiğini söylediğinde ya da programcıların kullandıkları bir metin editörünün "kodunuzun sözdizimini" içermemesi gerektiğini söylediler. bir noktada, arkaik fikirlerden yola çıkmaya ihtiyacımız var mı? – unsynchronized

+0

Tamam, bu yüzden "olmamalı" geri aldım. Keşke bir gün IDE'lerin hata ayıklama sırasında görüntüleri yorumlamasını diliyorum. –

+0

Bu harika bir fikir ve sadece bana yardımcı oldu - teşekkürler. Birisi bir kere işaret ettiğinde belli oluyor, ama yine de harika bir işaretçi. –

-5

nedeniyle UIImage dönüştürülmesi yüksek maliyetine kısa sürede bu kod kurtulmak için emin olun sadece yazın:

po your_UIImage_object 

poprint object açılımı, bu nesne senin durumunda görüntü içinde geçtiğini hakkında çeşitli yararlı bilgiler görüntüleyecek bir GDB komut var.

+1

Doğrudan UIImage nesnesiyle po kullanmak, yalnızca konsolun örneğini sınıf adı bellek adresine yazdıracaktır. Gibi bir şey: Daniel

10

Xcode 5 için düzenleme 5:
Şimdi bir görüntü değişkeninin üzerine geldiğinizde, sağ tarafta bir "göz" simgesi olacaktır. Mevcut resmi görmek için tıklamanız yeterli! Bir UIImage değişkeniniz yoksa (örneğin, başka bir nesnenin bir özelliği ise, şu eski yanıtı kullanabilirsiniz:

Eski yanıt: Eski soru, ancak bir yanıt arıyordum. Avraham'ın yanıtıyla başlayarak, Ben yeniden derlemek veya bir görünüme eklemek zorunda kalmadan lldb bir iOS görüntüsünün görüntülenmesi için bir kaç denemelerini sonunda geldi. bir metin editörü bu dizeyi tutmak ve ihtiyacım olduğunda yapıştırın

po [UIImagePNGRepresentation(watchImage) writeToFile:@"/Users/<userName>/Desktop/watchImage.png" atomically:NO]; 

o. Bu benim Masaüstünde bir PNG dosyası (bu örnekte, "watchImage" olarak). Sonra ben sadece Önizleme ile bu dosyayı açabilirsiniz ilgilendiğim geçerli görüntüyü saklar.

+0

+1000000 Bu inanılmaz bir çözüm! Cihazda hata ayıklama yapıyorsanız, görüntüyü cihazdan almak için iFunBox veya iExplorer gibi bir şey kullanabilirsiniz. – Quentin

+0

Doğrudan "/ Kullanıcılar/ /"; Bu şekilde GUID'ler –

+0

üzerinden geçici klasörünüzü aramanız gerekmeyecektir İyi öneri (kullanmanız gereken/Users/ /,// ​​ile çalışmaz). Öneriyi buna göre güncellendi. – mackworth

162

kullanın Quick Look Xcode ayıklayıcısında görüntüleri incelemek için.

Hata ayıklayıcıda bir UIImage veya NSImage seçin, ardından Hızlı Bakış "göz" simgesini tıklatın.OS X diğer alanlarda gibi

enter image description here

, ayrıca Quick Look için boşluk kullanabilirsiniz!

Viewing a UIImage in the Xcode debugger via Quick Look

ayıklayıcısında

Quick Look de kendi sınıfları için uygulanabilir :

Enabling Quick Look for Custom Types

Xcode ayıklayıcısında değişkenler Quick Look özelliği hızlı bir görsel elde etmesini sağlar Bir grafiksel oluşturma yoluyla bir nesne değişkeninin durumunun değerlendirilmesi, hata ayıklayıcı değişkenleri görünümünde veya kaynak kodunuzdaki bir popover penceresinde görüntülenir.

Bu bölüm, özel sınıf türleriniz için Hızlı Bakış yöntemini nasıl uygulayacağınızı açıklar; böylece bu türlerin nesne değişkenleri Quick Look popover penceresinde görsel olarak da işlenebilir.

+8

En İyi. Özelliği. Hiç! – Sevren

+2

Bu yılın en değerli cevabı! – vedrano

+0

Sadece OP, cevabı kabul ederse! Teşekkürler @CROLakiluk – pkamb

7

Eğer lldb konsolu ile çalışmak chisel komutunu kullanmak isterseniz "görselleştirmek"

ipucu:

kurulumdan sonra, eylem ile UIImage ayarladıktan sonra koşullu bir kesme noktası ayarlayabilirsiniz: "myUIImageToShowWithQuickLook görselleştirmek"

enter image description here

bu size görüntü gösterecektir hata ayıklayıcı durduğunda otomatik olarak.

İlgili konular