У меня ограниченный опыт работы с ftrace
, хотя я использовал его для отслеживания стека функций и латентности. (Люди с большим опытом могут предложить). Его почти такой же опыт, используя trace-cmd
и kernelshark
.
Однако, если вы хотите отследить системные вызовы, параметры функций, API-интерфейсы ядра и возвращаемые значения и т. Д. В пространстве ядра, лучшим выбором было бы пойти с systemtap
. Он имеет обширный список Samples & Doc, который хорош для отслеживания вызовов функций, переданных значений аргументов и т. Д. Возможно, вы захотите посмотреть на некоторые образцы и сделать их в соответствии с вашими требованиями. См general/para-callgraph-verbose.stp
и process/sleeptime.stp
"
общая/пара-граф вызовов-verbose.stp - граф вызовов Трассировка с VERBOSE Аргументы Ключевые слова: TRACE граф вызовов
Печать синхронизированную каждого потока микросекунды приуроченная граф вызовов, в комплекте с довольно напечатанными параметрами функции и возвращаемыми значениями.Первый параметр называет точки зонда функции для отслеживания. Необязательный второй параметр называет точки зонда для функций триггера, которые действуют, чтобы включить трассировку только для тех функций, которые возникают, когда текущий поток вложенные в триггер гер.
stap para-callgraph-verbose.stp 'kernel.function("*@fs/proc*.c")' \
'kernel.function("vfs_read")' -c "cat /proc/sys/vm/* || true"
процесс strace.stp/ - система трассировки вызовов ключевые слова: _BEST ПРОЦЕСС SYSCALL
Сценарий свободно эмулирует Трассирование, применительно к отдельным процессам или иерархии (с помощью -c/-x), или всей системы (без -c/-x). Несколько параметров конфигурации вывода могут быть установлены с -G.
stap strace.stp -c "sleep 1"
"
Примечания Вам необходимо установить правильную версию debug kernel
и kernel-devel
RPMS/DEB для stap
работать правильно. Для этого просто использовать stap-prep
и установить зависимость, показанную в зависимости от вкуса вас находятся на
Если вы ищете системные вызовы из пользовательского пространства, а также их аргументы, тогда вам нужна простая утилита userstrice. – Peter