| STAPBPF(8) | System Manager's Manual | STAPBPF(8) |
نام (NAME)
stapbpf - زماناجرای BPF ابزار systemtap
خلاصه دستور (SYNOPSIS)
stapbpf [ OPTIONS ] MODULE
توضیحات (DESCRIPTION)
برنامه stapbpf بخش پشتی (بکاند) مبتنی بر BPF برای ابزار Systemtap است. این برنامه انتظار یک فایل bpf-elf تولیدشده توسط ابزار فرانتاند stap (هنگام اجرا با گزینه --runtime=bpf) را دارد.
تفکیک ابزار systemtap به یک بخش فرانتاند و یک بخش بکاند به کاربر اجازه میدهد تا یک اسکریپت systemtap را روی یک سیستم توسعه که دارای اطلاعات اشکالزدایی مورد نیاز برای کامپایل اسکریپت است کامپایل کند و سپس شیء مشترک (shared object) حاصل را به یک سیستم عملیاتی که هیچگونه ابزار توسعه یا اطلاعات اشکالزدایی روی آن نصب نیست، انتقال دهد.
لطفاً برای آگاهی از شماره نسخه به stappaths(7) مراجعه کنید، یا دستورات زیر را اجرا نمایید:
$ rpm -q systemtap # (برای
Fedora/RHEL)
$ apt-get -v systemtap # (برای Ubuntu)
گزینهها (OPTIONS)
برنامه stapbpf از گزینههای زیر پشتیبانی میکند. هر گزینه دیگری فهرستی از گزینههای پشتیبانیشده را چاپ میکند.
آرگومانها (ARGUMENTS)
MODULE مسیر یک فایل bpf-elf تولیدشده توسط ابزار فرانتاند stap (هنگام اجرا با گزینه --runtime=bpf) است.
مثالها (EXAMPLES)
در اینجا یک مثال بسیار ابتدایی از نحوه تولید یک ماژول stapbpf آورده شده است. ابتدا از stap برای کامپایل یک اسکریپت استفاده کنید. برنامه stap نام ماژول حاصل را در دایرکتوری کاری جاری گزارش خواهد داد.
$ stap --runtime=bpf -p4 -e 'probe begin { printf("Hello
World!\n"); exit() }'
stap_28784.bo
برنامه stapbpf را با مسیر ماژول به عنوان آرگومان اجرا کنید.
$ stapbpf ./stap_28784.bo
Hello World!
اگر گزینه -p4 حذف شود، stap بهطور خودکار stapbpf را فراخوانی خواهد کرد.
محدودیتها (LIMITATIONS)
این محیط زماناجرا در مراحل اولیه توسعه قرار دارد و در حال حاضر فاقد پشتیبانی از تعدادی از قابلیتهای موجود در زماناجرای پیشفرض است. زیرمجموعهای از نقاط کاوش (probe points) زیر پشتیبانی میشوند:
begin end kernel.* process.* timer.* perf.* procfs.*
بهطور کلی، کاوشهای مبتنی بر زیرساختهای kprobes، uprobes، tracepoint و perf پشتیبانی میشوند. برای اطلاعات بیشتر درباره نقاط کاوش و زیرساختهای ردیابی که این نقاط بر آنها مبتنی هستند، به stapprobes(3stap) مراجعه کنید.
حلقههای for، حلقههای foreach و حلقههای while فقط در کاوشهای begin و end قابل استفاده هستند. عبارات try پشتیبانی نمیشوند.
پشتیبانی محدودی از عملیات رشتهای وجود دارد. متغیرها و مقادیر مستقیم رشتهای (literals) به ۶۴ کاراکتر محدود شدهاند، بهجز رشتههای قالببندی printf که حداکثر تا ۲۵۶ کاراکتر مجاز هستند.
زیرمجموعهای از قابلیتهای تجمیع آماری در دسترس است و تنها از توابع استخراجکننده @count(), @sum(), @avg() پشتیبانی میشود.
نام فایل bpf-elf تولیدشده توسط ابزار فرانتاند stap نباید تغییر داده شود.
ایمنی و امنیت (SAFETY AND SECURITY)
برای اطلاعات بیشتر در مورد ایمنی و امنیت، به صفحه راهنمای stap(1) مراجعه کنید.
همچنین ببینید (SEE ALSO)
stap(1), stapprobes(3stap), staprun(8), stapex(3stap)
اشکالات (BUGS)
از پیوند Bugzilla در صفحه وب پروژه یا فهرست پستی ما استفاده کنید. http://sourceware.org/systemtap, <systemtap@sourceware.org>.