gpt4 book ai didi

linux - 如何使用 ftrace 跟踪 shell 命令的所有事件?

转载 作者:太空狗 更新时间:2023-10-29 11:04:50 25 4
gpt4 key购买 nike

如何使用 ftrace 工具跟踪 cp file1 file2 之类的命令?

我想查看使用cp file1 file2 时调用的所有函数,但我不知道该怎么做。谁能帮我写下终端中执行此操作的确切命令?

最佳答案

采用以下脚本,您可以使用它来 ftrace 任何您想要的命令。取自here ,我稍作修改,您可以在/tmp/mytrace.txt 获得跟踪输出。用法示例:script.sh cp file1 file2

#!/bin/bash     
DPATH="/sys/kernel/debug/tracing"
PID=$$
TEMP="/tmp/mytrace.txt"
## Quick basic checks
[ `id -u` -ne 0 ] && { echo "needs to be root" ; exit 1; } # check for root permissions
[ -z $1 ] && { echo "needs process name as argument" ; exit 1; } # check for args to this function
mount | grep -i debugfs &> /dev/null
[ $? -ne 0 ] && { echo "debugfs not mounted, mount it first"; exit 1; } #checks for debugfs mount

# flush existing trace data
echo nop > $DPATH/current_tracer

# set function tracer
echo function_graph > $DPATH/current_tracer

# enable the current tracer
#echo 1 > $DPATH/tracing_on

# write current process id to set_ftrace_pid file
echo $PID > $DPATH/set_ftrace_pid

# start the tracing
echo 1 > $DPATH/tracing_on
# execute the process
exec $* > /dev/null 2>&1 &
#echo "$*"

`cat $DPATH/trace > $TEMP`

echo 0 > $DPATH/tracing_on

echo nop > $DPATH/current_tracer

关于linux - 如何使用 ftrace 跟踪 shell 命令的所有事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18694756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com