【发布时间】:2021-05-27 09:07:01
【问题描述】:
我尝试使用perf stat 和LD_PRELOAD 作为可执行文件的前缀,例如:
perf stat LD_PRELOAD=$PWD/../user/preload.so ./write 1
perf 好像不行,有什么方法可以实现吗?
【问题讨论】:
标签: environment-variables perf ld-preload
我尝试使用perf stat 和LD_PRELOAD 作为可执行文件的前缀,例如:
perf stat LD_PRELOAD=$PWD/../user/preload.so ./write 1
perf 好像不行,有什么方法可以实现吗?
【问题讨论】:
标签: environment-variables perf ld-preload
perf stat env LD_PRELOAD=.... ./write 1
这应该可行,尽管这意味着 /usr/bin/env 是正在分析的进程,因此您也得到了它的开销。至少它比 sh -c 'LD_PRELOAD=... exec ./write 1' 这样的命令便宜。
如果启动开销成为问题,您可以让您的 write 本身 fork/exec perf stat -p <PID> 自己。 perf stat for part of program
【讨论】: