ltrace 不显示任何输出

问题描述 投票:0回答:1

我有一个链接到共享库 - SDL2 的 C++ 应用程序。我想跟踪我的应用程序中的所有函数调用。我这样使用 ltrace:

ltrace -l ../../SDL-release-2.28.1/build/libSDL2-2.0d.so ./app

应用程序运行,但 ltrace 不显示任何输出。我预计会看到 SDL 函数调用。为什么不起作用?

linux shared-libraries ltrace
1个回答
0
投票

来自

man ltrace

library_pattern to match library SONAMEs

我猜测

../../SDL-release-2.28.1/build/libSDL2-2.0d.so
SONAME
libSDL2-2.0d.so.0
,所以正确的命令应该是:

ltrace -l libSDL2-2.0d.so.0 ./app

您可以通过以下方式找到

SONAME
的实际值:

readelf -d ../../SDL-release-2.28.1/build/libSDL2-2.0d.so | grep SONAME
© www.soinside.com 2019 - 2024. All rights reserved.