Я пытаюсь добавить perf probe
для метода C ++ в моей библиотеке, но я продолжаю получать следующее:
$ perf probe --exec=/path/to/file --add='my::Own::Method'
Semantic error :There is non-digit char in line number.
Я перечислил доступные функции следующим образом:
$ perf probe --funcs --exec=/path/to/file
И попробовал некоторые функции C, которые также включены. Зонд может быть добавлен для этого просто отлично. Поэтому я попробовал искаженное имя (например, _ZN2my8Own16Method
) а также perf probe
говорит, что не существует.
Есть ли способ обойти эту проблему?
В качестве обходного пути вы можете получить адрес метода с помощью objdump
а также perf probe
приму это.
$ perf probe -x /path/file '0x643f30'
Added new event:
probe_libfile:abs_643f30 (on 0x643f30 in /path/file)
You can now use it in all perf tools, such as:
perf record -e probe_libfile:abs_643f30 -aR sleep 1
Других решений пока нет …