Ito ang command dtrace na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator
PROGRAMA:
NAME
dtrace - Dtrace compatible user application static probe generation tool.
SINOPSIS
dtrace -s file [Opsyon]
DESCRIPTION
Kino-convert ng dtrace command ang mga paglalarawan ng probe na tinukoy sa file.d sa isang probe header file
sa pamamagitan ng -h opsyon o isang probe description file sa pamamagitan ng -G pagpipilian.
Opsyon
-h bumuo ng systemtap header file.
-G bumuo ng systemtap probe definition object file.
-o file
ay ang pangalan ng output file. Kung ang -G ang pagpipilian ay ibinigay pagkatapos ay ang output file
tatawagin file.o; kung ang -h ang pagpipilian ay ibinigay pagkatapos ay ang output file ay
tinatawag file.h.
-C patakbuhin ang cpp preprocessor sa input file kapag ang -h ang pagpipilian ay ibinigay.
-I file
bigyan ito kasama ang landas sa cpp kapag ang -C ang pagpipilian ay ibinigay.
-k panatilihin ang mga pansamantalang file, halimbawa ang C language source para sa -G pagpipilian.
HALIMBAWA
Systemtap ay source compatible sa dtrace user application static probe support. Nabigyan ng a
file pagsubok.d naglalaman ng:
provider sdt_probes
{
probe test_0 (uri ng int);
probe test_1 (struct astruct node);
};
struct astruct {int a; int b;};
Pagkatapos ay ang utos "dtrace -s pagsubok.d -G" gagawa ng probe definition file pagsubok.o at
ang utos "dtrace -stest.d -h" ay lilikha ng probe header file pagsubok.h Kasunod nito ang
Maaaring gamitin ng application ang mga nabuong macro sa ganitong paraan:
#include "test.h"
...
struct astruct s;
...
SDT_PROBES_TEST_0(value);
...
kung (SDT_PROBES_TEST_1_ENABLED())
SDT_PROBES_TEST_1((mga) mahal_function);
SEMAPHORES
Ang mga semaphore ay mga variable ng flag na ginagamit ng mga probe bilang isang paraan ng pag-bypass sa potensyal na magastos
pagpoproseso upang maghanda ng mga argumento para sa mga pagsisiyasat na maaaring hindi maging aktibo. Sila ay
awtomatikong itinatakda/na-clear ng systemtap kapag tumatakbo ang isang nauugnay na script, kaya ang argument
Ang gastos sa pag-setup ay binabayaran lamang kung kinakailangan. Ang mga semaphore variable na ito ay tinukoy sa loob ng
ang "test.o" object file, na dapat samakatuwid ay naka-link sa isang application.
Minsan, ang mga variable ng semaphore ay hindi kinakailangan o nakakatulong. Ang paglaktaw sa mga ito ay maaaring gawing simple
ang proseso ng pagbuo, sa pamamagitan ng pag-alis ng dagdag "test.o" file. Upang laktawan ang pagtitiwala sa semaphore
mga variable, isama " " sa loob ng aplikasyon bago "test.h":
#isama
#include "test.h"
...
struct astruct s;
...
SDT_PROBES_TEST_0(value);
...
kung (SDT_PROBES_TEST_1_ENABLED())
SDT_PROBES_TEST_1((mga) cheap_function);
Sa mode na ito, ang ENABLED() na pagsubok ay naayos sa 1.
Gamitin ang dtrace online gamit ang mga serbisyo ng onworks.net