close

Sistem haritası

Navigasyona git Aramaya git

System.map , Linux işletim sisteminin çekirdeği  tarafından kullanılan işlevlerin ve prosedürlerin adreslerinin sembolik bir tablosunu içeren bir dosyadır . Bu tablo, değişkenlerin ve işlevlerin adlarını ve bilgisayar belleğindeki adreslerini listeler . Bu tablo, Çekirdek paniği veya Linux hataları durumunda çekirdeğin hatalarını ayıklarken oldukça kullanışlıdır . çekirdek derlendiğinde oluşturulur .System.map

Yüklenen çekirdek için sembolik adres tablosu da /proc/kallsyms.

Dosya oluşturma

Dosya System.mapkomutu ile oluşturulabilir nm -n vmlinux > System.map. Çekirdeği derlerken aşağıdaki komut kullanılır (komut dosyası /usr/src/linux/scripts/mksysmap, çekirdek sürümü 2.6.35): $NM -n $1 | grep -v '\( [aNUw] \)\|\(__crc_\)\|\( \$[adt]\)' > $2burada $1file vmlinux, $2file'dir System.map.

bağırsaklar

Dosya içeriği örneği System.map:

c040f4ec b local_apic_timer_verify_ok
c040f4f0 b kalibrasyon_sonucu
c040f4f4 b etkin_via_apicbase
c040f4f8 b apic_phys
c040f500 b apic_pm_state
c040f538 B nmi_aktif
c040f53c B nmi_watchdog_enabled
c040f540 B bilinmiyor_nmi_panik
c040f544 b backtrace_mask
c040f548 b kilidi.19318
c040f54c b nmi_pm_active
c040f550 b last_irq_sums
c040f560 b uyarı_sayacı

System.mapfarklı sürümlerde farklı prosedür adresleri olabileceğinden dolayı her çekirdek yapısıyla oluşturulur [1] .

Karakter türleri

İkinci sütun, sembolün türünü gösterir (büyük harf, genel veya dışa aktarılan sembol, küçük harf ise yerel anlamına gelir):

  • A mutlak değerdir.
  • B veya b, başlatılmamış veri bölümündeki bir karakterdir (genellikle BSS olarak anılır).
  • D veya d, başlatılan veri bölümündeki bir karakterdir.
  • G veya g, global küçük nesneler için başlatılan veri bölümündeki bir karakterdir.
  • i, DLL'ye özgü bir bölümdür.
  • N bir hata ayıklama karakteridir.
  • p, yığın çözme bölümüdür.
  • R veya r, salt okunur bölümdeki bir karakterdir.
  • S veya s, küçük nesneler için başlatılmamış veri bölümündeki bir karakterdir.
  • T veya t, kod bölümündeki bir karakterdir.
  • U tanımsız bir semboldür.
  • V veya v zayıf bir nesnedir.
  • W veya w, bu şekilde etiketlenmemiş zayıf bir nesnedir.
  • - a.out nesne dosyasındaki saplama karakterini temsil eder
  • ? tanımsız karakter türü anlamına gelir

Dosya sistemindeki konum

Linux çekirdeği oluşturulduktan sonra System.map, dosya /usr/src/linux/. Ancak, bazı programlar bunu başka yerlerde ve bazen farklı bir adla gerektirir, örneğin . Örneğin, SVGAlib oluşturmak için dizinde bir dosyaya ihtiyacınız var./boot/System.map-$(uname -r)System.map/lib/modules/$(uname -r)/build/[ gerçeğin önemi? ] .

Ayrıca

Notlar

  1. System.map Dosyası Nedir? (kullanılamayan bağlantı) . Erişim tarihi: 20 Eylül 2011. 10 Mayıs 2017 tarihinde kaynağından arşivlendi . 

Bağlantılar

  • System.map dosyası  (İngilizce)  (downlink) . - Semboller, sembol tabloları ve System.map dosyası hakkında bilgiler. Erişim tarihi: 20 Eylül 2011. 19 Mayıs 2012 tarihinde kaynağından arşivlendi .