From: Sergey Matveev Date: Thu, 23 Mar 2023 14:29:22 +0000 (+0300) Subject: Пример встраивания USDT X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=5ca3159357ae7a11a674eb2be481d73968b45cf7;p=stargrave-blog.git Пример встраивания USDT https://lists.freebsd.org/archives/freebsd-dtrace/2023-March/000113.html Пример в рассылку кинули встраивания простой userspace defined пробы (446a47a0cdcc499785102c7949bf90b3334ef96c, 060b63251ef2c81ad42baca7dba8caa79c573211) * Пишем .d файл с описаниям проб: provider cat { probe foo(char *); }; * Запускаем dtrace -h для генерирования соответствующего .h файла * #include-им его, вызываем пробы (вот только нужно ещё в коде if (CAT_FILE_ENABLED()) писать) * Собственно, подключаемся к пробе и смотрим её: dtrace -n 'cat$target:::foo {printf("%s", copyinstr(arg0));}' -c "cat /foo/bar" ---