File: error%3A%3Apass4.7stap

package info (click to toggle)
systemtap 5.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 47,556 kB
  • sloc: cpp: 81,117; ansic: 54,933; xml: 49,795; exp: 43,595; sh: 11,526; python: 5,003; perl: 2,252; tcl: 1,312; makefile: 1,006; javascript: 149; lisp: 105; awk: 101; asm: 91; java: 70; sed: 16
file content (82 lines) | stat: -rw-r--r-- 2,641 bytes parent folder | download | duplicates (7)
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
.\" t
.TH ERROR::PASS4 7stap
.SH JMÉNO
error::pass4 \- chyby procesní fáze 4

.\" macros
.de SAMPLE

.nr oldin \\n(.i
.br
.RS
.nf
.nh
..
.de ESAMPLE
.hy
.fi
.RE
.in \\n[oldin]u

..

.SH POPIS
Během procesní fáze 4 (compilation) dochází obvykle jen k několika málo druhům
chyb:

.TP
změny verze jádra
Vložený C kód, který systemtap generuje, nebo obsahuje v rámci tapset skriptů
by měl být portabilní napříč širokou škálou verzí linuxového jádra.  Nicméně,
mohou se vyskytnout výjimky, jako například změna typu parametrů jaderné funkce
a podobně.  Pokud k tomu dojde, může být řešením použít upstream verzi
systemtapu (git://sourceware.org/git/systemtap.git), která je na takové změny
obvykle rychle adaptována.  Jinými slovy: \fBPro použití s velmi mladými jádry
sestavte systemtap ze zdrojových kódů v gitu\fP.  Pokud ani upstream verze
systemtapu neobsahuje opravu, prosím, nahlašte chybu vývojářům systemtapu.

.TP
chybný vložený (embedded) C kód
Vložený C kód ve Vašem guru (-g) skriptu systemtap nekontroluje.  Předává
jej kompilátoru zcela bez úprav.  Chyby tohoto typu odhalí kompilátor právě v
procesní fázi 4 během sestavování jaderného modulu systemtapu.

.TP
nekompratibilní vložený C kód
Rozhraní mezi C kódem, který systemtap generuje a vloženým C kódem se někdy mění.
Například před verzí systemtap-1.8 se parametry předávaly pomocí maker
.IR THIS->foo " and " THIS->__retvalue
ale od verze 1.8 již pomocí maker
.IR STAP_ARG_foo " and " STAP_RETVALUE "."
Upravte svůj vložený C kód tak, aby vyhovoval aktuální syntaxi, nebo použijte
režim zpětné kompatibility
.IR "stap --compatible=VERSION ."

.TP
chyby a záhadné chování kompilátoru
"Internal compiler error" značí chyby kompilátoru.  Takové chyby
by měly být nahlášeny vývojářům kompilátoru. K chybovému hlášení připojte
předzpracovaný
.IR ".i"
soubor spolu s kopií dané příkazové řádky kompilátoru.  Pro sesbírání relevantních
informací, spusťte
.SAMPLE
stap -k --vp 0003 -p4 ....
.ESAMPLE
Systemtap takto uchová dočasný adresář i příkazovou řádku kompilátoru.  V tomto
adresáři se nachází hlavní vygenerovaný soubor
.IR stap_NNNNN_src.c .
Použijte následující postup pro získání předzpracovaného výstupu:
.SAMPLE
make -C /lib/modules/`uname -r`/build M=`pwd` stap_NNNNN_src.i
.ESAMPLE
(všimněte si přípony
.IR .i
).  Příkazová řádka kompilátoru by měla být uchována v souboru
.IR ".stap_NNNNN_src.i.cmd" .

.SH VIZ TÉŽ
.nh
.nf
.IR stap (1),
.IR error::reporting (7stap)