jjzjj

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

我尝试过使用ltrace。我尝试使用以下命令来分析程序sampleapp,ltrace-c-T--library=library.so--output=out使用的library.so文件。txt./SampleApp.但它显示上述错误。但是library.so是一个调试版本。所以符号表应该在那里。我尝试用objdump--sourcelibrary.so|验证它grepCreateSocket()。它返回使用该CreateSocket()函数的代码。这意味着它包含一个符号表。那为什么会出现这个错误呢?相关帖子:measureCPUusagepersecondofadynamicall

linux - 我应该监视哪些进程间锁定调用?

我正在使用strace/ltrace监控进程,希望找到并拦截检查并可能激活一些的调用一种全局共享锁。虽然我之前处理过并阅读过Linux上的几种进程间锁定形式,但我对要调用的内容一无所知。目前我唯一怀疑的是futex(),它在进程执行的早期就出现了。更新0我对我所追求的东西有些困惑。我正在监控一个现有进程以调用持久进程间内存或等效内存。我想知道要查找的系统和库调用。我无意自己调用这些,所以futex()自然会出现,我相信很多库会根据这个等实现他们的锁定调用。更新1我想要一个函数名称列表或文档链接,我应该在ltrace和strace级别(并指定哪个级别)进行监控。任何其他关于如何跟踪和定位

linux - 我应该监视哪些进程间锁定调用?

我正在使用strace/ltrace监控进程,希望找到并拦截检查并可能激活一些的调用一种全局共享锁。虽然我之前处理过并阅读过Linux上的几种进程间锁定形式,但我对要调用的内容一无所知。目前我唯一怀疑的是futex(),它在进程执行的早期就出现了。更新0我对我所追求的东西有些困惑。我正在监控一个现有进程以调用持久进程间内存或等效内存。我想知道要查找的系统和库调用。我无意自己调用这些,所以futex()自然会出现,我相信很多库会根据这个等实现他们的锁定调用。更新1我想要一个函数名称列表或文档链接,我应该在ltrace和strace级别(并指定哪个级别)进行监控。任何其他关于如何跟踪和定位

linux - 运行 ltrace 时没有输出

正如标题所说,ltrace在我的系统上不能正常工作。在大多数情况下它不显示任何输出,比如$ltracels[usuallsoutput]+++exited(status0)+++$gcchello.c$ltrace./a.outHelloworld!+++exited(status0)+++我正在使用最新的ltrace版本(来自包0.7.3-5.1ubuntu4),我什至尝试从源代码重新编译,没有任何区别。我使用的是Ubuntu16.10,内核4.8.0-42-generic。gcc版本是6.2.0。奇怪的是,从Internet下载的二进制文件似乎可以正常工作,正确显示库调用。我错过了

linux - ltrace 等同于 osx?

osx拥有非常强大的dtrace/ktrace/dtruss工具——但是我现在不愿意投入必要的时间来学习如何处理它们。在OSX上获得linuxltrace(可能还有strace)等效功能的最简单方法是什么? 最佳答案 ltrace没有答案(除了可能“弄清楚如何使用dtrace”:-)),但对于系统调用跟踪alastrace,dtruss是dtrace的一个非常好的前端。例如dtrussdf-h#runandexaminethe"df-h"commanddtruss-p1871#examinePID1871dtruss-ntar#ex