System.map在Linux中,System.map檔案是被内核所使用的符号表。 符號表是一個在符號名稱與它們的記憶體位置間的查詢表格。符號名稱可能是變數的名稱或是函數名稱。當要查詢符號名稱的位置或是特定位置的符號名稱時,就會需要System.map。對於内核错误及内核oops的除錯特別有用。當CONFIG_KALLSYMS啟用時,核心會自行做位置到名稱的轉換,所以像是ksymoops這一類的工具並不是必要的[1]。 內部以下是System.map檔案的一部份內容:[2]
因為位置在每次構建時都會變動,所以核心每一次新的構建都會產生新的System.map[3]。 符號類型在位置及符號中間的字符(以空格分開)是符號的類型。UNIX操作系统上的nm工具程式列出了所有目標檔案的符號。而System.map則是直接與其相關,因為這個檔案是在整個核心程式上由nm所產生的 - 就像nm列出任意小的目標程式的符號及它們的類型[4]。 這些類型的一部份:[4]
檔案系統位置在Linux内核構建完成後,System.map可能位於原始目錄的根。然而,另外一些軟體可能會希望這個檔案位於其他地方:[5] 参考文献
參見 |
Index:
pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve