问题标签 [ltrace]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5390 浏览

c++ - ltrace:在“library.so”中找不到 .dynsym 或 .dynstr

我曾尝试使用 ltrace。我尝试使用以下命令来分析程序使用的 library.so 文件sampleappltrace -c -T --library=library.so --output=out.txt ./SampleApp. 但它显示了上述错误。但是 library.so 是一个调试版本。所以符号表应该在那里。我试图用objdump --source library.so | grep CreateSocket(). 它返回使用该 CreateSocket() 函数的代码。这意味着它包含一个符号表。比为什么会发生这个错误?

相关文章:测量动态链接库的每秒 CPU 使用率

0 投票
0 回答
1307 浏览

arm - ltrace 以“不是 ELF 文件”退出文件在 armv7 上找到“ELF 32 位 LSB 共享对象”的可执行文件

我正在研究 armv7-a 并尝试使用通过 buildroot 安装的 ltrace。

上游支持armv7,但说:

当前(至少在一定程度上)支持以下目标。其中一些可能在现实中或多或少被打破

请问有人成功了吗?

0 投票
1 回答
533 浏览

linux - 生产 Linux 系统(RH/CentOS 和 Debian/Ubuntu)中系统级跟踪的状态如何?

我正在帮助开发内部云基础设施 (OpenStack),为我们的部门提供 AWS/Rackspace/SoftLayer/等的完全本地替代方案。

我的老板刚刚向我转达了一个内部客户的问题,他们要求我们支持DTrace。我知道Oracle DTrace 项目dtrace4linux以及 Linux 自己的本机SystemTap(我记得它最初是基于 Linux kprobes构建的;但我收集到的SystemTap的较新版本可以利用 DTrace 或合并到3.5 内核)。我还听说过SysdigLTTng甚至fulltraceftrace (Linux 内核和uprobes支持之间有什么区别?)

我最初的回答是询问此用户是否尝试有效地使用ltrace以及-S交错系统调用跟踪的选项(à la strace)。

但我也想在客户回来之前了解更多。

我的第一个也是最重要的问题是:在 CentOS 6、6.5 和 7.0 上“开箱即用”(无需替换现有内核)可以使用这些各种选项中的哪一个?Ubuntu 12.04 和 14.04 LTS 版本也有同样的问题?

这些是否特别适合或特别不适合在云 VM 实例(OpenStack Nova、KVM)中使用?

这些选项是否有相当好的和最近的比较?对于每个人所涉及的时间和精力投资,我最好的选择是什么?

Niels Provos 在Systrace上的工作发生了什么

0 投票
0 回答
319 浏览

linux - ltrace :只显示程序对库的直接调用,不显示库间调用

当调用除了要运行的程序之外没有任何参数时,ltrace 似乎只显示程序对共享库的调用,而不是库间调用。

我想通过选择调用所在的库来过滤这些结果。该-l选项过滤库,但也显示库间调用。添加-e '@my_program没有任何区别。

ltrace手册页指出,通过将程序与-Dsymbolic.

有没有办法在不重新编译程序的情况下摆脱库间调用?

谢谢

0 投票
1 回答
1947 浏览

linux - ltrace(库跟踪工具)如何工作?

ltrace 是如何工作的?

它是如何找出程序调用库函数的?

是否有任何对库函数的所有调用都通过的通用代码路径?也许 ltrace 正在这个公共代码路径中设置断点?

谢谢!

0 投票
0 回答
1118 浏览

android - ltrace for Android 构建

伙计们。我正在尝试从此 repo https://android.googlesource.com/platform/external/ltrace/为 Android 构建 ltrace 。所以我已经安装了 android-ndk,然后我已经完成了 android 手册中的所有操作,以便为 arm 和 android-16 使用独立工具链(https://developer.android.com/ndk/guides/standalone_toolchain.html来自的高级方法这里)。然后我克隆了 repo 并在根目录中运行 ./autogen.sh 。之后 ./configure -host=arm-linux 。我收到一个错误:“配置:错误:*** libelf.h or gelf.h not found on your system”

所以看起来我需要包含来自 /platform/external/elfutils(also android source code) 的 libelf 。但我不知道该怎么做,这个 repo 只包含 Android.mk,我不知道如何用 ndk-build 构建它。它给了我一个错误,我没有 var NDK_PROJECT_PATH,但是在我设置它之后,项目还没有构建。

有人可以帮忙吗?

0 投票
0 回答
93 浏览

c++ - Best way to replay all calls to a shared object?

I maintain a shared object written in c/c++. I would like to be able to log all calls to the library's methods in order to replay the same sequence of method calls for debug and testing.

I can use ltrace to record all calls to the library but am looking to some tools or library to help replay the trace. I basically just need to parse the trace and call the same functions with the same inputs and do some special handling for the pointers. Here is an example of the trace info after some filtering:

0 投票
1 回答
1099 浏览

android - 为 Android 构建 ltrace

我正在尝试为 Android 构建 ltrace。我遵循了这些命令:

接着:

但我收到了这个错误:

我也试过:

并收到:

我在这里发现了一个类似/相同的问题 ltrace for Android build 但由于没有人回答而且几个月前我再次提出了这个问题。我希望没有问题。任何人都可以帮助我解决这个问题或以其他方式帮助我为 Android 构建 ltrace 吗?谢谢你。

0 投票
1 回答
117 浏览

c++ - 如何识别共享库,其功能当前由可执行文件执行

可执行文件加载a.out共享库1.so和. 这三个库中的每一个都实现了一个函数。当被调用时,我想确定执行的是哪个实现。2.so3.sofunc()func()func()

我尝试ltrace了可执行文件的PID。它只列出func()调用,但不列出共享库。

有什么建议么?

0 投票
2 回答
4961 浏览

linux - 运行 ltrace 时没有输出

正如标题所说,ltrace 在我的系统上无法正常工作。在大多数情况下它没有显示输出,例如

我正在使用最新的 ltrace 版本(来自 package 0.7.3-5.1ubuntu4),我什至尝试从源代码重新编译,没有任何区别。我正在使用 Ubuntu 16.10,内核4.8.0-42-generic。gcc 版本是6.2.0.

奇怪的是,从 Internet 下载的二进制文件似乎可以正常工作,正确显示库调用。

我错过了什么?有没有人能够重现这个问题?