私はltraceが初めてです。
- 関数呼び出しをトレースするためにワイルドカード (パターン) を使用したいのですが、 http: //man7.org/linux/man-pages/などの Web ページに基づいて、正常に機能していないようです。 man1/ltrace.1.html
たとえば、これは機能します:
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.*"
、どちらかです。実用的な例は大歓迎です。
- これが整理されたら、C++ lib シンボルをトレースする方法に移りたいのですが、mangled または demangled 形式を使用する必要がありますか?