Kesme noktalarım var ama Xcode bunları yok sayıyor gibi görünüyor.
Kesme noktalarım var ama Xcode bunları yok sayıyor gibi görünüyor.
Yanıtlar:
Her şeyden önce, KAPAT diyen önceki insanlara% 100 katılıyorum Load Symbols Lazily
.
Eklemem gereken iki şey daha var.
(İlk önerim apaçık geliyor ama birisi bunu bana ilk önerdiğinde tepkim şu satırlarda oldu: "hadi, lütfen, gerçekten daha iyisini bilemeyeceğimi düşünüyorsun ...... oh.")
"Etkin Yapı Yapılandırması" nı yanlışlıkla "Yayınla" olarak ayarlamadığınızdan emin olun.
Projenizin grafik ağaç görüntüsündeki "Hedefler" altında, Hedefinize sağ tıklayın ve "Bilgi Al" işlemini yapın. "Hata Ayıklama Sembolleri Oluştur" (veya benzeri) adlı bir özelliği arayın ve bunun KONTROL EDİLDİĞİNDEN (aka AÇIK) emin olun. Ayrıca, "Hata Ayıklama Bilgi Formatı" adlı bir özelliği bulmayı (ayrıca Hedef >> Bilgi Al bölümünde) ve bunu "Dwarf with dsym file" olarak ayarlamayı deneyebilirsiniz.
Hedef >> Bilgi Al altında sizi etkileyebilecek bir dizi başka özellik vardır. Kodu optimize etmek veya sıkıştırmak gibi şeyleri arayın ve bunları KAPATIN (bir hata ayıklama modunda çalıştığınızı varsayıyorum, bu yüzden bu kötü bir tavsiye değildir). Ayrıca, sembollerin çıkarılması gibi şeyleri arayın ve bunun da KAPALI olduğundan emin olun. Örneğin, "Bağlı Ürünü Çıkar", Hata Ayıklama hedefi için "Hayır" olarak ayarlanmalıdır.
Xcode 7'de benim için işe yarayan şuydu:
1) Hedef -> şema -> Çalıştır'ın Hata Ayıklama modunda olduğundan emin olun (Yayınlandı)
2) "Yürütülebilir dosyada hata ayıkla" seçeneğini işaretlediğinizden emin olun, aşağıya bakın:
Ben de aynı sorunu yaşıyordum (tekrar). "Sembolleri tembel olarak yükle" yi üç kez kontrol ettikten ve bilgi üretme bayraklarını ayıklayıp hata ayıkladıktan sonra aşağıdakileri yaptım:
Aynı görevi bulucuda .xcodeproj paketine sağ / seçenek tıklayarak ve "Paket İçeriğini Göster" i seçerek de gerçekleştirebilirsiniz.
Xcode'u yeniden başlattığımda, tüm pencerelerim varsayılan konumlara, vb. Sıfırlandı, ancak kesme noktaları çalıştı!
Diğer sebep
Set DeploymentPostprocessing
BuildSettings içinde NO - detaylar burada
Kısacası -
Bu ayarın etkinleştirilmesi, ikili dosyaların çıkarılması gerektiğini ve dosya modu, sahip ve grup bilgilerinin standart değerlere ayarlanması gerektiğini belirtir. [DEPLOYMENT_POSTPROCESSING]
YES
sadece benim subproject
içindeydi ve sonra kesme noktaları çalışmadı subprojects
. Ve ayarlandıktan sonra NO
mükemmeldi!
Bu gönderiye bakın: Kesme noktaları Xcode'da çalışmıyor mu? . "Hata Ayıkla" yerine "Çalıştır" seçeneğine basıyor olabilirsiniz, bu durumda programınız gdb'nin yardımıyla çalışmıyordur ve bu durumda kesme noktalarının çalışmasını bekleyemezsiniz!
Bunun olası çözümlerinden biri şu olabilir: Ürün> Şema> Şemayı düzenle> ..'ye gidin. Çalıştır> bilgi> Yürütülebilir "Hata ayıklama yürütülebilir" kontrol edin.
Bu beni yarım gün boyunca Xcode 9'da tuttu. Basit bir hata ayıklama ayarı haline geldi.
Debug> Debug Workflow'a gidin ve 'Always Show Disassembly' seçeneğinin kapalı olduğundan emin olun. Bu kadar basit. :(
Aynı problemle bu sayfaya geldi (Xcode 6'daki C kodu kesme noktalarında durmuyor) ve yukarıdaki çözümlerden hiçbiri işe yaramadı (proje pratik olarak kutudan çıktı, ayarlar açısından, hata ayıklayıcı ayarlarından herhangi birinin şansı çok azdı. yanlış değere ayarlanmalıdır) ...
Sorunu azaltmak için epey zaman harcadıktan sonra, sonunda suçluyu buldum (kodum için):
Xcode (/ LLVM), Bison tarzı #line
önişlemci komutlarını sevmez .
Bunları kaldırmak sorunu çözdü (hata ayıklayıcı, kesme noktalarımda durdu).
Xcode (2.4.1) 'de kesme noktaları ile ilgili birçok sorunum var. Yalnızca diğer projeleri içeren bir proje kullanıyorum (Visual Studio'daki bir Çözüm gibi). Bazen, başlangıç projesinde en az bir kesme noktası ayarlanmadıkça (yani kodum için giriş noktasını içeren) hiç çalışmadığını görüyorum. Yalnızca kesme noktaları "alt düzey" projelerdeyse, bunlar yok sayılır.
Ayrıca, kesme noktasının açık olduğu kaynak satırını içeren projedeyken kesme noktasında hareket ederseniz, Xcode yalnızca kesme noktası işlemlerini doğru şekilde işliyor gibi görünüyor.
Kesme noktalarını başka bir proje aracılığıyla silmeyi veya devre dışı bırakmayı denersem, hata ayıklayıcı sahip olduğunu belirtmesine rağmen eylem bazen etkili olmaz. Bu yüzden kendimi devre dışı bırakılan kesme noktalarında veya daha önce kaldırmış olduğum (artık görünmez) bir kesme noktasında bulacağım.
Kesme noktalarım işe yaramadı ve ardından yeniden çalışmasını sağlamak için Tüm Hedefleri Oluştur / Temizle işlemini yaptım.
Sorunun cihaz sürümleri ile Xcode arasındaki uyumsuzluk olabileceğini düşünüyorum. İOS 5.0.1 çalıştıran iPhone 4S cihazımda hata ayıklamaya çalışırken bu sorunu yaşıyorum. Hala Xcode 3.2.5 kullanıyorum. Düzenleyici penceresinde "bu cihazı geliştirme için kullan" seçeneğini belirleyerek el cihazından sembolleri aldım. Ancak bu telefon kesme noktasını reddediyor. Eski 3GS irade kesme noktası , aynı Xcode projesi, aynı ayarlar ... sadece farklı cihaz ve iOS 4.0 çalıştırıyor. Sanırım bu 3.2.5'teki bir Xcode hatası, çünkü bende semboller var. Şimdiye kadar burada yayınlanan tüm çözümleri denedikten sonra, sorunumun çözümünün devam edip XCode 4'e yükseltmek olduğuna karar verdim. Temel SDK'nız en azından hata ayıklayacağınız sistem kadar yüksek değilse, belki de etkili bir şekilde hata ayıklayamazsınız. Belki bu açıktır - kimse onaylayabilir mi?
Düzenleme: Bunun doğru olduğunu onaylayabildiğimde güncelleme yapacağım.
Build klasörümü silmek sorunu benim için çözdü.
XCode 6.3.1'de de bana aynı şey oldu. Bunu şu şekilde düzeltmeyi başardım:
Bu değişikliği yaptıktan sonra, Kesme noktalarını taşı seçeneklerini projeye geri getirdim ve Paylaşım kesme noktalarının seçimini kaldırdım. seçeneğinin ve hala çalışıyor.
Nedenini tam olarak bilmiyorum ama bu benim kesme noktalarımı geri getiriyor.
Xcode 4'te
- Product menu > Manage Schemes
- Select the scheme thats having debugging problems (if only one choose that)
- Click Edit button at bottom
- Edit Scheme dialog appears
- in left panel click on Run APPNAME.app
- on Right hand panel make sure youre on INFO tab
- look for drop down DEBUGGER:
- someone had set this to None
- set to LLDB if this is your preferred debugger
- can also change BUILD CONFIGURATION drop down to Debug
- but I have other targets set to AdHoc which debug fine once Debugger is set
Sorunu buldum. Bir şekilde XCode'umda " Hata ayıklama sırasında Demontajı Göster " etkinleştirildi ve bu da bu sorunu yarattı. Devre dışı bıraktığımda, tüm hata ayıklayıcım kaynak kodumda durdu.
Bunu şu altında bulabilirsiniz: Product->Debug Workflow->Show Disassembly
hata ayıklarken.
Her şey başarısız olursa, bir kesme noktası yerine aşağıdaki işlevi çağırabilirsiniz:
void BreakPoint(void) {
int i=1;
#if !__OPTIMIZE__
printf("Code is waiting; hit pause to see.\n");
while(i);
#endif
}
Devam etmek için, i'yi manuel olarak sıfıra ayarlayın, ardından devam ettir düğmesine basın.
Yukarıdakilerin hepsini denedim, ancak benim için hata ayıklama kesme noktalarını yalnızca bir kez devre dışı bıraktım ve sonra bunları etkinleştirmek işe yaradı.
Kırılma noktanızı ayarlarken, sağ tıklayın ve kesme noktasının nasıl işlendiğine dair birkaç seçenek almalısınız (değişkenleri kaydet ve devam et, yürütmeyi duraklat, vb.)
Ayrıca, hata ayıklama tercihlerinde "Sembolleri tembel olarak Yükle" seçeneğinin seçilmediğinden emin olun.
(Xcode 3.1 için geçerlidir, geçmiş / gelecek sürümlerden emin değil)
Ayrıca, uygulamanın AppStore dağıtımının cihaza da yüklenmediğinden emin olun.
Kontrol edilecek başka bir şey de, hata ayıklama modunuz için bir "Yetkilendirmeler" plist dosyanız varsa (muhtemelen Anahtar Zinciri ile bir şeyler yaptığınız için), plist dosyasının "get-task-allow" = YES satırına sahip olduğundan emin olun. Bu olmadan, hata ayıklama ve günlük kaydı bozulur.
Xcode'da kesme noktaları için 3 durum var gibi görünüyor. Onlara tıklarsanız farklı ayarlardan geçerler. Koyu mavi etkinleştirildi, gri devre dışı bırakıldı ve bazen koyu mavi renge gitmesi için kesme noktasına tekrar tıklamamı gerektiren soluk bir mavi gördüm.
Bunun dışında, çalıştırma komutu ile değil hata ayıklama komutuyla başlattığınızdan emin olun. Bunu, seçenek + command + return veya çalıştır menüsünden Git (hata ayıklama) seçeneğine basarak yapabilirsiniz.
Xcode 3.2.3 SDK 4.1'e sahibim. Kesme noktaları rastgele başarısız oluyor. Yapıyı temizlerseniz ve yapı altındaki dokunma komutunu kullanırsanız tekrar çalıştıklarını buldum.
İşte karşılaştığım belirsiz bir tane: eğer paylaşılan bir kitaplık (veya bir eklenti) üzerinde çalışıyorsanız, kesme noktalarınız başlangıçta sarıya dönecek ve bu da klavyenizi hayal kırıklığına uğratmanıza ve hata ayıklama sürecini sonlandırmanıza neden olabilir. Yapma bunu! Uygulama kitaplığı yükleyene kadar semboller yüklenmez ve bu noktada kesme noktaları geçerli olur. Bu sorunla bir tarayıcı eklentisiyle karşılaştım ... Eklentimi başlatan bir sayfaya göz atana kadar BP'ler devre dışı bırakıldı.