gpt4 book ai didi

c++ - 如何使用带通配符的 ltrace

转载 作者:太空狗 更新时间:2023-10-29 12:17:03 25 4
gpt4 key购买 nike

我是 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.*" 也不走运。感谢任何工作示例。

  • 如果解决了这个问题,我想继续讨论如何跟踪 C++ 库符号,我应该使用 mangled 还是 demangled 格式?

最佳答案

-e 开关的功能在 ltrace 版本中不断发展。即使是相当新的 Linux 版本也经常附带较旧的 ltrace,这很可能是您的问题。 (例如,如果我没记错的话,RHEL6 附带 0.5 版。)运行 ltrace --v 并确保您的版本为 0.7 及更高版本。

* Version 0.7.0 [2012-11-09 Fri]** Tracing...*** Limited support for tracing returns from tail call functions*** -e, -x and -l selectors now allow using globs and regular expressions

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 下载它

关于c++ - 如何使用带通配符的 ltrace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21088536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com