"Hata ayıklamak için malloc_error_break'te bir kesme noktası ayarlama"


126

Uygulamam kilitlenmeden bunun gibi çok sayıda konsol çıkışı alıyorum:

malloc: * 0xc6a3970 nesnesi için hata: serbest bırakılan işaretçi ayrılmadı * hata ayıklamak için malloc_error_break'de bir kesme noktası ayarlayın

Hangi nesnenin veya değişkenin etkilendiğini nasıl öğrenebilirim?

Bunun gibi sembolik bir kesme noktası ayarlamayı denedim ama asla durmuyor:

görüntü açıklamasını buraya girin


1
Safari incelemesini devre dışı bırakarak bu sorunu çözüyorum. stackoverflow.com/a/43885754/6521116
Kris Roofe

Bunun nedenlerinden biri, bir nesneyi döndürmesi beklenen ve işlevin sonuna ulaşan ve hiçbir şey döndürmeyen bir işlev / yöntemdir.
Xofo

Yanıtlar:


136

Kesme Noktası Gezgini'ni (Görünüm-> Gezginler-> Kesme Noktası Gezgini'ni veya ⌘7) açıp, sol alt köşedeki artı düğmesini tıklayarak ve "Sembolik Kesme Noktası Ekle" yi seçerek malloc_error_break () üzerinde bir kesme noktası ayarlayın. Açılan açılır malloc_error_breakpencerede, Sembol alanına girin ve ardından Bitti'yi tıklayın.

DÜZENLEME: openfrog bir ekran görüntüsü ekledi ve cevabımı gönderdikten sonra bu adımları zaten başarıyla denediğini belirtti . Bu düzenlemeyle ne söyleyeceğimi bilmiyorum. Bunun kendi başıma çalışmadığını görmedim ve gerçekten de malloc_error_break setinde her zaman bir kesme noktası tutuyorum.


2
Bu benim için çalıştı (modül olmadan). Benim için sorunun nedeni, UIImagebir dosya tarafından yedeklenmiş olmam ve dosyanın üzerine farklı bir resim yazmamdı. Bu UIImagePNGRepresentation, orijinal resmi aradığımda bir hataya neden oldu (dosyanın gerçekten üzerine yazıldığı zaman değil).
Robert

1
⌘7Çubuğun sol alt köşesinde artı düğmesi görmüyorum ... Belki de demek istediniz ⌘8?
ScottyBlades

@ScottyBlades kısayolun değiştiğini tahmin ediyor. Bu cevabı 8 yıl ve 7 büyük Xcode versiyonu önce yazdım ...
Andrew Madsen

@AndrewMadsen Endişelenmeyin, sadece düzenlemenin mantıklı olup olmadığını kontrol ediyorum.
ScottyBlades

46

Ekran görüntünüzde herhangi bir modül belirtmediniz: "libsystem_c.dylib" ayarlamayı deneyin

görüntü açıklamasını buraya girin

Bunu yaptım ve işe yarıyor: kesme noktası burada duruyor (yığın izleme genellikle bazı belirsiz sistem kütüphanelerinden yükselse de ...)


7
Modül adı gibi görünüyor bu, iOS farklıdır: libsystem_malloc.dylib. Kesme noktası, bir modül belirtmeden benim için çalışıyor.
Nestor

6

Xcode ile aynı sorunu yaşadım. Verdiğin adımları takip ettim ve işe yaramadı. Çıldırdım çünkü gördüğüm her forumda, bu soruna dair tüm ipuçları verdiğin ipucudur. Sonunda malloc_error_break'den sonra bir boşluk bıraktığımı gördüm, bastırdım ve şimdi çalışıyor. Aptalca bir sorun ama çözüm işe yaramazsa, malloc_error_break'ten önce ve sonra boşluk bırakmadığınızdan emin olun.

Umarım bu mesaj yardımcı olur ..


4

Bazı klasörlere (özellikle / usr / bin /) yazmak zorunda kalmamam gereken izinler vermiştim ve bu soruna neden oldu. Disk İzlencesi'ni açıp Macintosh HD diskinde 'Disk İzinlerini Onar'ı çalıştırarak sorunu çözdüm.


Teşekkürler, bu borked makinemi düzeltti.
Matt Fletcher

2

Yakın safari müfettişiyle çözerim. Benim bakınız yazı . Bazen uygulamamı test için çalıştırdığımda da ses buldum, ardından otomatik denetleyici açıkken safari açıyorum, bundan sonra uygulamamda bir şeyler yapıyorum ve bu sorun tetiklendi.

görüntü açıklamasını buraya girin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.