| STAPREF(1) | General Commands Manual | STAPREF(1) |
نام (NAME)
stapref - مرجع زبان اسکریپتنویسی systemtap
خلاصه دستور (SYNOPSIS)
stapref
توضیحات (DESCRIPTION)
مرجع زبان اسکریپتنویسی systemtap.
زبان (LANGUAGE)
کلیدواژهها
(Keywords)
• break • continue • delete • else • exit • foreach • for • function • global • private • if • in • next • probe • return • try/catch • while
انواع
داده و
عملگرها (Data Types and
Operators)
اعداد صحیح (Integers) • var1 = 5 • global var2 = 10 رشتهها (Strings) • var1 = "string1" • global var2 = "string2" آرایههای انجمنی (Associative Arrays) • global array1[] • global array2[SIZE] • array[index] = 5 متغیرهای زمینه (Context Variables) • $var • $var$ (قالب رشتهای زیبا) عملگرهای عددی دودویی (Binary numeric operators) • * / % + - << >> >>> & ^ | && || عملگرهای رشتهای دودویی (Binary string operators) • . (الحاق رشته) عملگرهای انتساب عددی (Numeric assignment operators) • = += -= *= /= %= >>= <<= &= ^= |= عملگرهای انتساب رشتهای (String assignment operators) • = .= عملگرهای عددی یکانی (Unary numeric operators) • + - ! ~ ++ -- عملگرهای مقایسهای عددی و رشتهای (Numeric & string comparison operators) • < > <= >= == != عملگرهای تطبیق عبارت منظم (Regular expression matching operators) • =~ !~ عملگر سهتایی (Ternary operator) • cond ? exp1 : exp2 عملگر گروهبندی (Grouping operator) • ( expression ) عملگرهای آرایه (Array operators) • array[index] (خواندن/نوشتن آرایه) • [index] in array عملگر تجمیع (Aggregation operator) • var <<< value
دستورها
(Statements)
دستورهای پرش (Jump Statements) • continue • break • next (بازگشت زودهنگام از کاوش) • return expression (از تابع) • try statement catch (message) statement
دستورهای شرطی (Selection Statements) • if (expression) statement • else statement
دستورهای تکرار (Iteration Statements) • foreach (variable in array) statement • foreach ([var1,var2,...] in array) statement • for (expression; expression; expression) statement • while (expression) statement
دستورهای تعریف (Declaration Statements)
• function name (variable : type, ...) { statement }
• function name : type (variable : type, ...) { statement }
• function name : type (variable : type, ...) %{ c_statement %}
• probe probepoint { statement }
• probe label = probepoint { statement }
ساختار
واژگانی (Lexical Structure)
توضیحات (Comments) • # ... کامنت • // ... کامنت • /* ... کامنت ... */
پیشپردازنده (Preprocessor)
• %( expression %? true_tokens %: false_tokens %)
• @define label (variable, ...) %{ statement %}
توابع
توکار (Builtin Functions)
توابع توکار تجمیعی (Aggregation Builtin Functions) • @avg (variable) • @count (variable) • @hist_linear (variable, N, N, N) • @hist_log (variable) • @max (variable) • @min (variable) • @sum (variable)
توابع توکار خروجی (Output Builtin Functions) • print (variable) • printf (format:string, variable, ...) که در آن format به این صورت است: %[flags][width][.precision][length]specifier • printd (delimiter:string, variable, ...) • printdln (delimiter:string, variable, ...) • println () • sprint:string (variable) • sprintf:string (format:string, variable, ...)
توابع توکار دسترسی به متغیرها (Variable Access Builtin Functions)
• @var ("varname[@src/FILE.c]"[, "module"]) (ایستا یا سراسری)
• @cast (variable, "type_name"[, "module"])
• @defined (variable)
• @probewrite (variable)
نقاط کاوش
(Probepoints)
برخی از نقاط کاوش پرکاربردتر (Some of the more commonly used probepoints)
• kernel.function(PATTERN) kernel.function(PATTERN).call
• kernel.function(PATTERN).return
• kernel.FUNCTION (PATTERN).return.maxactive(VALUE)
• kernel.FUNCTION (PATTERN).inline
• kernel.FUNCTION (PATTERN).label(LPATTERN)
• module(MPATTERN).FUNCTION (PATTERN)
• module(MPATTERN).FUNCTION (PATTERN).call
• module(MPATTERN).FUNCTION (PATTERN).return.maxactive(VALUE)
• module(MPATTERN).FUNCTION (PATTERN).inline
• kernel.statement(PATTERN)
• kernel.statement(ADDRESS).absolute
• module(MPATTERN).statement(PATTERN)
• kprobe.FUNCTION (FUNCTION)
• kprobe.FUNCTION (FUNCTION).return
• kprobe.module(NAME).FUNCTION (FUNCTION)
• kprobe.module(NAME).FUNCTION (FUNCTION).return
• kprobe.statement(ADDRESS).absolute
• process.begin process("PATH").begin
• process(PID).begin process.thread.begin
• process("PATH").thread.begin
• process(PID).thread.begin
• process.end
• process("PATH").end
• process(PID).end
• process.thread.end
• process("PATH").thread.end
• process(PID).thread.end
• process("PATH").syscall
• process(PID).syscall
• process.syscall.return
• process("PATH").syscall.return
• process(PID).syscall.return
• process("PATH").FUNCTION ("NAME")
• process("PATH").statement("*@FILE.c:123")
• process("PATH").FUNCTION ("*").return
• process("PATH").FUNCTION ("myfun").label("foo")
• process("PATH").mark("LABEL")
• java("PNAME").class("CLASSNAME").method("PATTERN")
• java("PNAME").class("CLASSNAME").method("PATTERN").return
• java(PID).class("CLASSNAME").method("PATTERN")
• java(PID).class("CLASSNAME").method("PATTERN").return
• python2.module("MODULENAME").function("PATTERN")
• python2.module("MODULENAME").function("PATTERN").return
• python3.module("MODULENAME").function("PATTERN")
• python3.module("MODULENAME").function("PATTERN").return
توابع
تپست (Tapset Functions)
برخی از توابع تپست پرکاربردتر (Some of the more commonly used tapset functions) • addr:long () • backtrace:string () • caller:string () • caller_addr:long () • cmdline_arg:string (N:long) • cmdline_args:string (N:long,m:long,delim:string) • cmdline_str:string () • env_var:string (name:string) • execname:string () • int_arg:long (N:long) • isinstr:long(s1:string,s2:string) • long_arg:long (N:long) • modname:string () • module_name:string () • pid:long () • pn:string () • pointer_arg:string (N:long) • pp:string () • print_backtrace () • probefunc:string () • register:long(name:string) • str_replace:string(prnt_str:string,srch_str:string,rplc_str:string) • stringat:long(str:string,pos:long) • strlen:long(str:string) • strtol:long(str:string,base:long) • substr:string(str:string,start:long,length:long) • user_long:long(addr:long) • user_string:string(addr:long)
همچنین ببینید (SEE ALSO)
stap(1)
اشکالات (BUGS)
از پیوند Bugzilla در صفحه وب پروژه یا فهرست پستی ما استفاده کنید: http://sourceware.org/systemtap,<systemtap@sourceware.org>.