Sözdizimi
gcore [-v] [-s] [-b boyut] [-x içerik] [-o yol | -c yol_biçimi] pid
Açıklama
gcore programı, pid ile belirtilen sürecin bir core dosyası imajını oluşturur. Oluşturulan core dosyası, sürecin durumunu incelemek amacıyla lldb(1) gibi bir hata ayıklayıcı ile kullanılabilir.
Aşağıdaki seçenekler mevcuttur:
-s: Core dosyası yakalanırken süreci askıya al.-v: Bellek dökümü (dump) işlemi ilerledikçe ilerleme durumunu bildir.-b boyut: Core dosyasının boyutunuboyutMiByte ile sınırla.-x içerik: Core dosyasına yazılacak süreç sayfalarının içerik türünü seç. Şu anda desteklenen içerik türleri şunlardır:
stack Yalnızca yığın (stack) bölgelerini içeren sayfaları dahil et.
compact Yalnızca yürütme sırasında değiştirilen sayfaları dahil et.
full Süreçteki tüm erişilebilir sayfalar.
full (tam) içerik seçeneği varsayılandır ve çok büyük core dosyalarının oluşturulmasına yol açabilir. stack içerik türü, düşük seviyeli iş parçacığı (thread) yığınlarını incelemek için yararlı olabilir. Elde edilen core dosyası küçüktür, ancak kullanılabilir durumdaki hata ayıklama bilgisi miktarı da buna paralel olarak sınırlıdır. compact içerik ayarı, genellikle full seçeneğinden daha küçük olan core dosyaları üretir.
Aşağıdaki seçenekler core dosyasının adını kontrol eder:
-o yol
Core dosyasını yol parametresiyle belirtilen yere yaz.
-c yol_biçimi
Core dosyasını yol_biçimi parametresiyle belirtilen biçimde yaz. yol_biçimi dizesi, sürecin belirli özniteliklerini temsil eden dizelerin ada dahil edilmesini sağlayan çeşitli özel karakterler içerebilen bir yol adı olarak işlenir.
Her özel karakter % karakteri ile başlar. Biçim karakterleri ve anlamları şunlardır:
N Dökümü alınan programın ps(1) tarafından bildirilen adı.
U Dökümü alınan sürecin dizeye dönüştürülmüş uid değeri.
G Dökümü alınan sürecin dizeye dönüştürülmüş gid değeri.
P Dökümü alınan sürecin dizeye dönüştürülmüş pid değeri.
T Core dosyasının oluşturulduğu zamanın ISO 8601 biçimine dönüştürülmüş hali.
t Core dosyasının oluşturulduğu zamanın, Unix zaman başlangıcından (epoch) bu yana geçen saniye cinsine dönüştürülmüş hali.
H Sistemin kern.hostname MIB değerinden belirlenen ana makine adı (hostname).
% Bir yüzde karakteri çıktılar.
gcore tarafından kullanılan varsayılan dosya adı %N-%P-%T biçimindedir. Varsayılan olarak core dosyası, adı kern.corefile MIB değerinden belirlenen bir dizine yazılır. Bu değer sysctl(8) kullanılarak yazdırılabilir veya değiştirilebilir.
Core dosyasının yazılacağı dizin, hedef sürecin sahibinin erişimine açık olmalıdır.
gcore mevcut bir dosyanın üzerine yazmaz ve yoldaki eksik dizinleri oluşturmaz.
Dosyalar
/cores/%N-%P-%T core dosyası için varsayılan yol adı.
Çıkış Durumu
gcore aracı başarı durumunda 0, bir hata oluşursa >0 değeriyle çıkar.
Ayrıca Bakınız
lldb(1), otool(1), core(5), Mach-O(5), sudo(8), sysctl(8)
Dikkat Edilecek Hususlar
Varsayılan olarak gcore, bir sürecin bellek dökümünü almak için yazma üzerine kopyalama (copy-on-write) adres alanı anlık görüntüsünü (snapshot) kullanır ve sürecin dış olaylara yanıt veremediği süreyi en aza indirir. Ancak bu anlık görüntüler sınırlı bir kaynaktır ve alınamadığı takdirde gcore, gcore'un geçmişteki davranışına geri döner; yani sürecin yürütülmesini askıya almadan durumunu yakalar ve bu da elde edilen core dosyasına tutarsız bir durumun kaydedilmesine neden olabilir. Eğer bu bir endişe kaynağıysa -s bayrağını kullanın.
Hem stack hem de compact içerik seçenekleri için, elde edilen core dosyasının boyutunun küçülmüş olduğunu fark etmek önemlidir; çünkü bu dosya, bellek dökümünün alındığı belirli bir zaman diliminde sistemde mevcut olan uygulamanın içeriğine ve bunun kütüphane ile framework bağımlılıklarına dolaylı olarak atıfta bulunur. Sonuç olarak bu tür core dosyaları, en çok uygulamanın yakalandığı sistemle aynı sistem üzerinde hata ayıklaması yapıldığında yararlıdır. Bu core dosyalarını farklı bir platformda veya bileşenlerden herhangi biri güncellendikten sonra hata ayıklama için kullanmaya çalışmak, verimli bir hata ayıklama işlemini çok daha zor hale getirebilir.
Darwin 10 Temmuz 2025 Darwin