Я новичок в ltrace.
Например. это работает:
ltrace -c -e "XDrawLine" -p 10876 ^C
% time seconds usecs/call calls function
------ ----------- ----------- --------- --------------------
100.00 4.925592 501 9829 XDrawLine
------ ----------- ----------- --------- --------------------
100.00 4.925592 9829 total
Но это ничего не соответствует
trace -c -e "XDrawLin*" -p 10876
^C
% time seconds usecs/call calls function
------ ----------- ----------- --------- --------------------
------ ----------- ----------- --------- --------------------
100.00 0.000000 0 total
Кроме того, не повезло с -e "/XDrawLin.*/"
или же -e "XDrawLin.*"
или.
Любой рабочий пример приветствуется.
Функциональность -e
переключатель эволюционировал ltrace
релизы. Даже довольно недавние выпуски Linux часто поставлялись с более старой версией ltrace, и это, скорее всего, проблема для вас. (Например, RHEL6, если я правильно помню, поставляется с версией 0.5.) Выполнить ltrace --v
и убедитесь, что у вас версия 0.7 и выше.
* Версия 0.7.0 [пт 2012-11-09] ** Трассировка ... *** Ограниченная поддержка отслеживания возвратов из функций хвостового вызова Селекторы *** -e, -x и -l теперь позволяют использовать глобусы и регулярные выражения
http://anonscm.debian.org/gitweb/?p=collab-maint/ltrace.git;a=blob_plain;f=NEWS;hb=0.7.3
Если у вас более старая версия ltrace — обновите ее с помощью менеджера пакетов или загрузите с http://freecode.com/projects/ltrace
Других решений пока нет …