System.map - System.map

Yilda Linux, System.map fayl a belgilar jadvali tomonidan ishlatilgan yadro.

Belgilar jadvali - bu belgi nomlari va ularning manzillari orasidagi xotirani qidirish. Belgilar nomi o'zgaruvchining nomi yoki funktsiya nomi bo'lishi mumkin. System.map ramz nomining manzili yoki manzilning ramziy nomi kerak bo'lganda talab qilinadi. Ayniqsa, disk raskadrovka uchun foydalidir yadro vahima va yadro oops. Yadro qachon manzildan nomga tarjimani o'zi amalga oshiradi CONFIG_KALLSYMS yoqilgan, shuning uchun ksymoops kabi vositalar talab qilinmaydi.[1]

Ichki

Quyidagi a qismidir System.map fayl:[2]

c041bc90 b packet_sklistc041bc94 b packet_sklist_lockc041bc94 b packet_socks_nrc041bc98 A __bss_stopc041bc98 A _endc041c000 A pg0ffffe400 A __kernel_vsyscallffff_4ret_20

Chunki manzillar bir tuzilishdan ikkinchisiga, yangisiga o'zgarishi mumkin System.map yadroning har bir tuzilishi uchun hosil bo'ladi.[3]

Belgilar turlari

Manzil va belgi orasidagi belgi (bo'shliqlar bilan ajratilgan) turi ramz. The nm yordamchi dastur yoqilgan Unix tizimlari obyekt fayllaridagi belgilarni sanab bering. The System.map to'g'ridan-to'g'ri bog'liqdir, chunki ushbu fayl tomonidan ishlab chiqarilgan nm butun yadro dasturida - xuddi shunday nm har qanday kichik ob'ekt dasturlari uchun belgilar va ularning turlarini sanab beradi.[4]

Ushbu turlardan ba'zilari:[4]

  • A mutlaq uchun
  • B yoki b boshlang'ich bo'lmagan ma'lumotlar bo'limi uchun (BSS deb nomlangan)
  • D. yoki d boshlang'ich ma'lumotlar bo'limi uchun
  • G yoki g kichik ob'ektlar uchun boshlang'ich ma'lumotlar bo'limi uchun (global)
  • men DLL-larga xos bo'limlar uchun
  • N nosozliklarni tuzatish belgisi uchun
  • p stack ochish bo'limi uchun
  • R yoki r faqat ma'lumotni o'qish uchun bo'lim
  • S yoki s kichik ob'ektlar uchun boshlanmagan ma'lumotlar bo'limi uchun
  • T yoki t matn (kod) bo'limi uchun
  • U uchun aniqlanmagan
  • V yoki v zaif ob'ekt uchun
  • V yoki w shunday belgilanmagan zaif narsalar uchun
  • - a.out ob'ekt faylidagi stabs belgisi uchun
  • ? "belgi turi noma'lum" uchun

Fayl tizimining joylashuvi

Qurilgandan so'ng Linux yadrosi, System.map manba katalogining ildizida joylashgan. Biroq, dasturiy ta'minotni o'rnatishning ba'zi keyingi bosqichlari faylni boshqa joyda topishni kutmoqda:[5]

Shuningdek qarang

Adabiyotlar

  1. ^ "Tez-tez so'raladigan savollar / System.map - Linux yadrosi yangilari". kernelnewbies.org. 2006-04-14. Olingan 2014-04-06.
  2. ^ Piter Jey Salzman (2003-05-28). "System.map fayli". Rlworkman.net. Olingan 2014-04-06.
  3. ^ "Kernel-HOWTO". faqs.org. Olingan 2014-04-06.
  4. ^ a b "nm (1): ob'ekt fayllaridagi belgilar - Linux man sahifasi". Linux.die.net. Olingan 2014-04-06.
  5. ^ "Butrusning eslatmalari: System.map". Linuxmafia.com. 2003-05-29. Olingan 2014-04-06.