Soru po Swift String “çözümlenmemiş tanımlayıcı”


Swift Strings hata ayıklama konusunda sorun yaşıyorum

func stringTest() {

    let test1:String =   "test1";
    let test2:NSString = "test2";

    // <-- Breakpoint here

    println(test1);
    println(test2);
}

Bu satırlardan sonra bir kesme noktası belirler ve test1'i yazdırmayı deneyin ve aşağıdaki hatayı alıyorum:

po test1
error: <REPL>:1:1: error: use of unresolved identifier 'test1'
test1
^

Ama test2'yi başarılı bir şekilde yazdıramıyorum:

po test2
test2

18
2018-06-19 14:25


Menşei


Hata ayıklayıcısından değil, doğrudan kodunuzda yazdırmayı denediniz mi? Bu çalışmalı. - Undo♦
Beta yazılımı. Hızlı hata ayıklama konsolu şu anda kullanılamaz. - Kreiri
Evet, doğrudan koddan yazdırabilirim, sadece hata aldığım hata ayıklayıcıyı kullanıyor. - Errortype520
(Belki de noktalı virgül var? Cidden; kodunuzla benimki arasındaki tek fark bu, bu işe yarıyor ...) - Matt Gibson


Cevaplar:


Bu büyük olasılıkla hata ayıklama bilgi çıktısında bir hatadır. Bilgisayarı kapatarak bunu kontrol edebilirsiniz. register read pcve sonra yapıyor:

(lldb) image lookup -va <PC VALUE>

Bu bir sürü şey yazdıracaktır, ancak son girişler, hata ayıklayıcısında halihazırda görünür olan tüm değişkenler ve nerede yaşadıkları (yazmaçlar veya bellekte) olacaktır. Değişkeni burada görmüyorsanız, hata ayıklama bilgilerinin sahip olması gerekir. lldb'de değişkenin şu anda canlı olmadığını söyledi.

Bunu bir örnek kodda yeniden üretebilirseniz, lütfen hata reporter.apple.com ile bir hata yapın.


8
2018-06-20 20:15



Görüntü arama talimatını denedim ve değişkenlerimi görebiliyorum: Değişken: id = {0x1600000179}, name = "visibleRect", type = "CoreGraphics.CGRect", location = DW_OP_piece (0x8) DW_OP_constu (0x0) v9 DW_OP_piece (0x8) v10 DW_OP_piece (0x8), decl = QuestionListLayoutHandler.swift: 22 po çalışmıyorsa bile: hata: <EXPR>: 2: 1: hata: çözümlenmemiş tanımlayıcı 'visibleRect' kullanımı Herhangi bir fikri neden? (Xcode 8.2) Neredeyse tüm kodlarımda birkaç gün var. - CedricSoubrie


Bu bir Beta hatası. Xcode6-Beta5 hala bu hataya sahiptir. Yalnızca hızlı değişkenler için hata ayıklama bilgisi alabilirsiniz, ancak hızlı sabitler için alamıyorsunuz. Geçici olarak değiştirebilirsiniz test1 izin için var test1 ve hata ayıklama bilgisine sahip olacaksınız. Umarım bu sürümde düzeltilecektir. Hata ayıklamada iyi şanslar;)

DÜZENLE: Ne yazık ki, Xcode Version 6.0.1'in (6A317) ilk sürümünde aynı sorun hala devam ediyor

let test1:String  -> debug info is unavailable
var test1:String  -> debug info is available

EDIT2: Evet, doğrulandı. OS X Yosemite altındaki en yeni Xcode 6.1'deki iOS uygulamaları için de düzeltildi.


17
2017-08-23 20:41



Bu hala GM'de gerçekleşiyor. :-( - iphone007
Xcode 6.3.2'nin zaman zaman hala sorunları var. - Wingzero
Xcode 7.1 beta 3'te de oluyor. - Andrew
İki yıl sonra, hala Xcode 8'de bir sorun ... - diegomontoyas
2 ay sonra, hala Xcode'ta bir sorun 8.2.1. Onun utanç verici. - Xeieshan