1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153
|
.\" Copyright (c) 2000 Keith Owens <kaos@ocs.com.au>
.\" This program is distributed according to the Gnu General Public License.
.\" See the file COPYING in the kernel source directory.
.\" $Id: kallsyms.8 1.2 Thu, 20 Apr 2000 11:14:13 +1000 kaos $
.\"
.TH KALLSYMS 8 "2000 prilis 20" Linux "Linux Modul Tmogats"
.SH NV
kallsyms \- minden kernel szimblumot kir hibakeresshez
.SH TTEKINTS
.B kallsyms
[\-Vh] kernel_fjlnv
.SH LERS
.hy 0
.B Kallsyms
minden nem-verem szimblumot kivesz a kernelbl, s egy adat objektumot
kszt, amelyet ahhoz a kernelhez linkelve debuggolhat lesz.
.PP
Egy normlis kernel csak a modulok ltal hasznlt szimblumokat exportlja.
Hibakeresshez szksg lehet minden nem-verem szimblumora, nem csak
az exportltakra.
.B kallsyms
kivesz minden szekcit s szimblumot a kernelbl, a szekcikrl,
szimblumokrl s a cmeikrl egy listt kszt, s egy reloklhat
objektumfjlt kszt, ami csak egy __kallsyms szekcit tartalmaz.
Miutn a __kallsyms szekcit a kernelhez linkeltk, s a kernel
bebootolt, brmely debugger hasznlhatja a __kallsyms szekci adatait
a jobb szimblumfelolds rdekben.
.PP
Pldul, egy debugger hasznlhatja a __kallsyms adatokat, hogy
feloldja a kvetkez kernel cmeket\ :-
.PD 0
.IP * 3
A tulajdonos kernel vagy modul.
.IP * 3
A szekci a tulajdonos kdon bell.
.IP * 3
A legkzelebbi szimblum.
.PD 1
.fi
.SS OPCIK
.TP
.I "\-V"
A modutils verzijt rja ki.
.TP
.I "\-h"
Kirja a sgt.
.SH LINKER MENETEK
.PP
Ahhoz hogy egy pontos __kallsyms szekcit tartalmaz kernelt
hozzunk ltre, ngy linker menetre van szksg a szoksos egy helyett.
A kallsyms s a linker gyors, a hrom extra lps csak nhny msodpercig
tart egy P200-on.
.IP 1 3
Els kernel fordts, __kallsyms adatok nlkl.
Futtassuk a kallsyms-t ennek eredmnyn, ltrehozva egy reloklhat
objektumot, amely tartalmazza a kernel minden szekcijt s szimblumt.
.IP 2 3
Linkeljk jra a kernelt, ekkor mr a kallsyms kimenetet is hozztve
az (1) lpsbl.
A __kallsyms szekcit hozztve megvltozik a szekcik szma s sok
kernel szimblum cme, gy futtassuk le jra a kallsyms-t, most a
msodik kernelen, jra elmentve a reloklhat kimenetet.
.IP 3 3
Linkeljk jra a kernelt, most a (2) lpsbl szrmaz kallsyms
kimenettel.
Futtassuk le megint a kallsyms-t az utols kernelen.
A __kallsyms szekci mrete s pozcija ebbl a futtatsbl mr stabil,
semelyik kernel szekci vagy szimblum sem vltozik ezutn.
A kallsyms kimenete a kernel szimblumok vgs rtkeit tartalmazza.
.IP 4 3
Linkeljk ssze a vgs kernelt, a (3) lpsbl szrmaz kallsyms
kimenettel.
.SH ADATFORMTUM
.PP
A __kallsyms szekci egy kicsit szokatlan.
Szndkosan nem tartalmaz reloklhat adatokat, minden "pointere"
a szekcin belli bjt offszet vagy abszolt szm.
Ez azt jelenti, hogy brhov elhelyezhet relokcis problmk nlkl.
Klnskpp trolhat egy kernel image-en bell, trolhat a kerneltl
kln, hozzfzhet egy modulhoz betlts eltt, trolhat egy kln
terleten, stb.
.PP
A /usr/include/sys/kallsyms.h tartalmazza a __kallsyms adatok trkpt.
.SS Fejlc
.PD 0
.IP * 3
A fejlc mrete.
.IP * 3
A __kalsyms adatok teljes mrete, belertve a stringeket is.
.IP * 3
Szekcik szma.
Ez csak a memriba betlttt szekcikat tartalmazza.
.IP * 3
Az els szekci bejegyzs offszetje a __kallsyms fejlc kezdettl.
.IP * 3
A szekci bejegyzsek mrete a nv string nlkl.
.IP * 3
A szimblumok szma.
.IP * 3
Az els szimblum bejegyzs offszetje a __kallsyms fejlc kezdettl.
.IP * 3
A szimblum bejegyzsek mrete a nv string nlkl.
.IP * 3
Az els string bejegyzs offszetje a __kallsyms fejlc kezdettl.
.IP * 3
Az els szekci[1] kezdcme.
.IP * 3
Az utols szekci[1] vgcme.
.PD 1
.SS Szekci bejegyzs
.PP
Egy bejegyzs betlttt szekcinknt.
Mivel a __kallsyms egy betlttt szekci, ha az input fjl tartalmazza
a __kallsyms szekcit, akkor az is szerepel a listban.
.PD 0
.IP * 3
A szekci kezdete a kernelen[1] bell.
.IP * 3
A szekci mrete.
.IP * 3
A szekci nevnek offszetje a __kallsyms stringek kezdettl.
.IP * 3
A szekci jelzbitjei az eredeti Elf szekcibl
.PD 1
.SS Szimblum bejegyzs
.PP
Egy bejegyzs szimblumonknt az input fjlban.
Csak a betlttt szekcikba es szimblumok vannak trolva.
.PD 0
.IP * 3
Offszet a __kallsyms szekci bejegyzsre, amelybe ez a szimblum tartozik.
Az offszet a __kallsyms szekci bejegyzsek kezdettl rtend.
.IP * 3
A szimblum cme a kernelen[1] bell.
A szimblumok ezen mez szerint nvekv sorrendbe vannak rendezve.
.IP * 3
Offszet a szimblum nevre, __kallsyms stringek kezdettl szmtva.
.PD 1
.SS Stringek
.PP
Null-vgzds stringek halmaza.
Minden nvre van egy a __kallsyms stringterlet kezdettl
szmtott offszet hivatkozs.
.SS Megjegyzs [1]
.PP
Ezek a mezk kivtelek a "minden pointer offszet" szably all.
Ezek egy kernelen bell abszolt cmet tartalmaznak.
.SH LSD MG
\fBinsmod\fP(8).
.SH TRTNELEM
Eredeti verzi: Keith Owens <kaos@ocs.com.au>, 2000 prilis
.SH MAGYAR FORDTS
Bszrmnyi Zoltn <zboszor@mail.externet.hu>
|