bir ikili / elf programı sıyırma anlamı nedir?


9

Sadece bir program dosyasını soymanın sadece disk alanından tasarruf etmekten daha fazla faydası olup olmadığını merak ediyorum.


cpu veya bellek tasarrufu sağlıyor mu?

Depolama alanının sıkı olduğu gömülü sistemlerde biraz disk alanı kazanır.
Zoredache

Bir wee bitini hafızaya kaydeder.
symcbean

Yanıtlar:


8

Vakaların büyük çoğunluğu için birincil fayda, sadece disk alanından tasarruf etmektir. İkincil ve çok daha şüpheli bir fayda, ikilinin sökülmesini veya tersine mühendislik yapılmasını zorlaştırmasıdır. Ayrıca bellek ayak izini biraz azaltabilir, ancak çoğu durumda ihmal edilebilir bir tasarruf olacaktır.

En büyük zarar, bir sorunla karşılaşırsanız hata ayıklamayı önemli ölçüde zorlaştırmasıdır.

CPU olan modern bir sistemde, ne olduklarını hızlandırırlar ve bellek / disk miktarları, bir ikili sıyırma işleminin performans üzerinde herhangi bir şekilde çok az pratik etkisi olacaktır. Gerçekten hata ayıklama, "temizlik" ve kişisel tercihler hakkında. Bazı insanlar üretim veya "sevk" yazılımı için her zaman soyulmuş ikili dosyaları kullanmayı tercih ederler. Bazı insanlar "her ihtimale karşı" sembollerini her zaman dahil etmeyi tercih eder.

Şahsen, sembollerin dahil edilmesini tercih ederim. Ticari bir uygulamanın segfaulting olduğu (veya başka bir şekilde çöktüğü) yıl boyunca gerçekten sinir bozucu birkaç durum yaşadım ve ikili dosyaların elimden çıkarıldığı için sorunun nerede olduğunu tam olarak belirleyemedim. Bu durumlardan en az birkaçında, satıcı, tekrar çökene kadar çalışmam için soyulmamış bir sürüm gönderdi, böylece daha yararlı hata ayıklama bilgileri alabildik. Başlangıçta soyulmamış versiyonu sağlamış olsaydı, sorunu daha hızlı ve daha az kesinti ile çözebilirdik.


2
32 MB NSLU2 gibi bellek kısıtlamalı, gömülü bir sistemde olmadığınız sürece kabul edilir. RAM'deki her bayt sayılır ve bir ikili dosyada% 10 tıraş, bu senaryolarda çok yaygındır. Ben de ölen ya da ölü bir sürece gdb ekledim ve soyulmamış semboller olmasaydı bir dereye kadar olurdu. Benim sıyırma semboller sadece bellek tasarrufu ve daha iyi önbellek hattı kullanımı içindir. Ancak ikincisini test edin çünkü optimizasyon beklentilerinizi göz ardı edebilir.
zerolagtime

1
Mükemmel bir noktaya değindin. Yukarıdaki yorumlarım tipik masaüstü / dizüstü bilgisayar veya sunucu kullanım senaryoları için geçerlidir, ancak sıyırma ikili dosyaları genellikle gömülü ve özel kullanım sistemlerinde büyük bir kazançtır.
Christopher Cashell

0

yazılımı test için hata ayıklama sembolleri ile derleyebilir ve ardından dağıtım için çıkartabilirsiniz. hata ayıklama sembolleriniz ifşa etmeyeceğiniz bir şeyi ortaya çıkarırsa, bu sizin için yararlı olabilir

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.