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

package info (click to toggle)
systemtap 3.0-6~bpo8%2B1
  • links: PTS, VCS
  • area: main
  • in suites: jessie-backports
  • size: 30,496 kB
  • sloc: ansic: 57,403; cpp: 57,007; exp: 36,587; sh: 10,151; xml: 7,771; perl: 2,241; python: 1,364; tcl: 1,300; makefile: 825; java: 148; lisp: 105; awk: 94; asm: 91; sed: 16
file content (50 lines) | stat: -rw-r--r-- 1,342 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
.\" t
.TH ERROR::FAULT 7stap 
.SH JMÉNO
error::fault \- chyba přístupu do paměti

.\" macros
.de SAMPLE
.br
.RS
.nf
.nh
..
.de ESAMPLE
.hy
.fi
.RE
..


.SH POPIS

Během činnosti systemtap skriptu může nastat chyba čtení nebo zápisu, pokud se
sktipt pokusí dereferencovat neplatný ukazatel.  To může nastat při použití
kontextových proměnných, které nemají platnou hodnotu, nebo případně při
přístupu do paměti, která byla odstránkována na disk.

.PP
Tyto chyby jsou benigní, neboť je lze zachytit za běhu a korektně obsloužit.
Pokud bezprostřední ukončení není žádoucí, následující volby mohou být
užitečné:
.IR \-\-skip\-badvars " nebo " \-\-suppress\-handler\-errors " nebo " \-DMAXERRORS=NN" ,"
případně obalení relevantních částí kódu
.IR try / catch
blokem.

.PP

Možností je také upravit zkoumaný program tak, aby nedošlo k odstránkování
důležitých dat.  Jednou z možností je přidat nějaké nenáročné operace s danými
daty, jako například
.I strlen(foo)
pro string, nebo iterování přes prvky pole, či lineárního seznamu, případně
přečíst několik bajtů v bloku na haldě.  Cílem je vyvolat "page fault" dříve
než se bude k daným datům pokoušet přistoupit systemtap.

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