我想使用bpftrace跟踪libasan库中的函数,该库位于/ usr / lib / x86_64-linux-gnu /中。
但是
sudo bpftrace -e 'uretprobe:/usr/lib/x86_64-linux-gnu/libasan.so.4: __interceptor_malloc { printf("pid: %d, malloc %p\n", pid, retval); }'
给出错误:uprobe target file '/usr/lib/x86_64-linux-gnu/libasan.so.4' does not exist or is not executable
我已经尝试过:export LD_LIBRARY_PATH="/lib:/usr/lib:/usr/local/lib"
,但无济于事。
如何使bpftrace可执行库?我需要它来跟踪在Firefox进程中完成的分配。谢谢!
编辑:我刚刚发现,对libasan的许可权是-rw-r--r--,这意味着它实际上是不可执行的。我应该如何使其可执行?
答案 0 :(得分:-1)
我通过执行chmod + x libasan.so.4.0.0修复了它