GCC เด‡เดชเตเดชเต‹เตพ eBPF-เดฒเต‡เด•เตเด•เต เดธเดฎเดพเดนเดฐเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เด’เดฐเต เดฌเดพเด•เตเด•เต†เตปเดกเต เด‰เตพเด•เตเด•เตŠเดณเตเดณเตเดจเตเดจเต

GCC เด•เด‚เดชเตˆเดฒเตผ เดธเตเดฏเต‚เดŸเตเดŸเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต เดธเตเดตเต€เด•เดฐเดฟเดšเตเดšเต เดฒเดฟเดจเด•เตเดธเต เด•เต‡เตผเดฃเดฒเดฟเตฝ เดจเดฟเตผเดฎเตเดฎเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดฌเตˆเดฑเตเดฑเตเด•เต‹เดกเต เด‡เดจเตเดฑเตผเดชเตเดฐเต†เดฑเตเดฑเดฑเดฟเดจเดพเดฏเตเดณเตเดณ เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเตเด•เตพ เด•เด‚เดชเตˆเตฝ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด•เต‹เดกเต เด‡เดฌเดฟเดชเดฟเดŽเดซเต. JIT เด•เด‚เดชเตˆเดฒเต‡เดทเดจเตเดฑเต† เด‰เดชเดฏเต‹เด—เดคเตเดคเดฟเดจเต เดจเดจเตเดฆเดฟ, เด•เต‡เตผเดฃเตฝ เดฌเตˆเดฑเตเดฑเตเด•เต‹เดกเต เดˆเดšเตเดšเดฏเดฟเตฝ เดฎเต†เดทเต€เตป เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เต เดตเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดจเต‡เดฑเตเดฑเต€เดตเต เด•เต‹เดกเดฟเดจเตเดฑเต† เดชเตเดฐเด•เดŸเดจเดคเตเดคเต‹เดŸเต† เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. eBPF เดชเดฟเดจเตเดคเตเดฃเดฏเตเดณเตเดณ เดชเดพเดšเตเดšเตเด•เตพ เดธเตเดตเต€เด•เดฐเดฟเดšเตเดšเต GCC 10 เดฑเดฟเดฒเต€เดธเต เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเดšเตเดš เดถเดพเด–เดฏเดฟเดฒเต‡เด•เตเด•เต.

เดฌเตˆเดฑเตเดฑเตเด•เต‹เดกเต เดœเดจเดฑเต‡เดทเดจเตเดณเตเดณ เด’เดฐเต เดฌเดพเด•เตเด•เต†เตปเดกเดฟเดจเต เดชเตเดฑเดฎเต‡, eBPF-เดจเตเดณเตเดณ เด’เดฐเต libgcc เดชเต‹เตผเดŸเตเดŸเตเด‚ เด•เต‡เตผเดฃเตฝ เดจเตฝเด•เดฟเดฏเดฟเดŸเตเดŸเตเดณเตเดณ เดฒเต‹เดกเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต eBPF เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเดฟเตฝ เด•เต‹เดกเต เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดธเดพเดงเตเดฏเดฎเดพเด•เตเด•เตเดจเตเดจ ELF เดซเดฏเดฒเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดŸเต‚เดณเตเด•เดณเตเด‚ GCC-เดฏเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต. เดœเดฟเดธเดฟเดธเดฟเดฏเดฟเตฝ เด‡เดฌเดฟเดชเดฟเดŽเดซเดฟเดจเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเดพเดšเตเดšเตเด•เตพ เด‡เดคเดฟเดจเด•เด‚ เดคเดจเตเดจเต† เด’เดฑเดพเด•เตเด•เดฟเดณเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดŽเดžเตเดšเดฟเดจเต€เดฏเตผเดฎเดพเตผ เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เดฟเดฏเดฟเดฐเตเดจเตเดจเต เดจเตฝเด•เดฟเดฏเดคเต เด—เตเดจเต เดฌเดฟเดจเตเดฏเต‚เดŸเตเดŸเดฟเดฒเตเด•เดณเดฟเตฝ eBPF เดชเดฟเดจเตเดคเตเดฃ. GDB-เดฏเตโ€Œเด•เตเด•เตเดณเตเดณ เด’เดฐเต เดธเดฟเดฎเตเดฒเต‡เดฑเตเดฑเดฑเตเด‚ เดชเดพเดšเตเดšเตเด•เดณเตเด‚ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเดšเตเดšเตเด•เตŠเดฃเตเดŸเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด‡เดคเต เด•เต‡เตผเดฃเดฒเดฟเดฒเต‡เด•เตเด•เต เดฒเต‹เดกเตเดšเต†เดฏเตเดฏเดพเดคเต† เดคเดจเตเดจเต† eBPF เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเตเด•เตพ เดกเต€เดฌเด—เต เดšเต†เดฏเตเดฏเดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด‚.

eBPF-เดจเตเดณเตเดณ เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเตเด•เตพ C เดญเดพเดทเดฏเตเดŸเต† เด’เดฐเต เด‰เดชเดตเดฟเดญเดพเด—เดคเตเดคเดฟเตฝ เดจเดฟเตผเดตเดšเดฟเด•เตเด•เดพเด‚, เด•เด‚เดชเตˆเตฝ เดšเต†เดฏเตเดคเต เด•เต‡เตผเดฃเดฒเดฟเดฒเต‡เด•เตเด•เต เดฒเต‹เดกเต เดšเต†เดฏเตเดฏเดพเด‚. เดจเดฟเตผเดตเตเดตเดนเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต, เด…เดจเตเดตเดฆเดจเต€เดฏเดฎเดพเดฏ เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เดณเตเดŸเต† เด‰เดชเดฏเต‹เด—เดคเตเดคเดฟเดจเดพเดฏเดฟ eBPF เดตเตเดฏเดพเด–เตเดฏเดพเดคเดพเดตเต เดฌเตˆเดฑเตเดฑเตเด•เต‹เดกเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด•เต‹เดกเดฟเดจเต เดšเดฟเดฒ เดจเดฟเดฏเดฎเด™เตเด™เตพ เดšเตเดฎเดคเตเดคเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดฒเต‚เดชเตเดชเตเด•เดณเตŠเดจเตเดจเตเดฎเดฟเดฒเตเดฒ).
เดคเตเดŸเด•เตเด•เดคเตเดคเดฟเตฝ, เดฒเดฟเดจเด•เตเดธเดฟเตฝ eBPF เด•เด‚เดชเตˆเตฝ เดšเต†เดฏเตเดฏเดพเตป LLVM เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เดŸเต‚เดณเตเด•เดณเดพเดฃเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดฟเดฐเตเดจเตเดจเดคเต. เดœเดฟเดธเดฟเดธเดฟเดฏเดฟเดฒเต† eBPF เดชเดฟเดจเตเดคเตเดฃ เดฐเดธเด•เดฐเดฎเดพเดฃเต, เด•เดพเดฐเดฃเด‚ เด…เดงเดฟเด• เดกเดฟเดชเตปเดกเตปเดธเดฟเด•เตพ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดพเดคเต† เดคเดจเตเดจเต† เดฒเดฟเดจเด•เตเดธเต เด•เต‡เตผเดฃเดฒเตเด‚ eBPF เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเตเด•เดณเตเด‚ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด’เดฐเต เดŸเต‚เตพเด•เดฟเดฑเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เด‡เดคเต เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต.

eBPF เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเตเด•เดณเตเดŸเต† เดฐเต‚เดชเดคเตเดคเดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เด“เดชเตเดชเดฑเต‡เดทเตป เดนเดพเตปเดกเตโ€Œเดฒเดฑเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเดจเตเด‚ เดŸเตเดฐเดพเดซเดฟเด•เต เดซเดฟเตฝเดŸเตเดŸเตผ เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เดฌเดพเตปเดกเตโ€Œเดตเดฟเดกเตเดคเตเดคเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เดพเดจเตเด‚ เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพ เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเดจเตเด‚ เดธเดฟเดธเตเดฑเตเดฑเด‚ เด•เต‹เดณเตเด•เตพ เดคเดŸเดธเตเดธเดชเตเดชเต†เดŸเตเดคเตเดคเดพเดจเตเด‚ เด†เด•เตโ€Œเดธเดธเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เดพเดจเตเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเตเดŸเต† เด†เดตเตƒเดคเตเดคเดฟเดฏเตเด‚ เดธเดฎเดฏเดตเตเด‚ เด•เดฃเด•เตเด•เดพเด•เตเด•เดพเดจเตเด‚ kprobes/uprobes/tracepoints เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดŸเตเดฐเต†เดฏเตโ€Œเดธเดฟเด‚เด—เต เดจเดŸเดคเตเดคเดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚.

เด…เดตเดฒเด‚เดฌเด‚: opennet.ru

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•