bpftrace: целевой файл uprobe не существует или не исполняется

Я хочу использовать 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--, что означает, что он действительно не исполняемый. Как мне сделать его исполняемым?

1 ответ

Решение

Я исправил это, выполнив chmod +x libasan.so.4.0.0

Другие вопросы по тегам