问题标签 [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.
c - 为什么strace或者ltrace不能拦截rand函数
我以下面的 C 程序为例::
也strace
不能ltrace
检测到srand
orrand
调用。这是为什么?
c - ltrace 的替代方案,它适用于与 `-z now` 链接的二进制文件?
ltrace
不适用于与-z now
option链接的二进制文件,这是我的 Ubuntu 19.10 系统上的默认设置。它仅适用于与-z lazy
.
是否有任何替代方法可以ltrace
完成相同的工作,但now
也适用于二进制文件?
cross-compiling - 'ltrace' 的交叉编译失败并显示“错误:在您的系统中找不到 libelf.h 或 gelf.h”,尽管它位于 /usr/local/include 中
所以我有一个 x86_64 拱门,我需要为 aarch64 (arm) 编译。我有libelf.h
and gelf.h
in /usr/local/include
,它应该被 gcc 自动包含。我也尝试导出CPPFLAGS=-I/usr/local/include/libelf
或使用with-libelf
ltraceconfigure
文件的参数,但标题中总是出现相同的错误。
有任何想法吗?我之前用 strace 成功地完成了类似的交叉编译,所以我真的很难理解这里出了什么问题。
提前致谢
c - 有没有办法找到 ac 程序中使用的所有函数?
我有一个c
包含多个文件的巨大(夸张)程序的源代码。我希望是否有任何方法可以找到程序中使用(声明和调用)的所有函数(标准和内置)。我知道我可以通过首先将输出重定向到文件然后使用来选择函数调用来编译它function
并使用and之system
calls
类的工具对其进行编译和跟踪。或者我可以在所有文件的 shell 上使用正则表达式,但我还不知道正则表达式。那么有没有人知道一种工具可以帮助我快速找到ac程序中调用和声明的所有函数?ltrace
strace
grep
linux - 空环境变量名
我在 Ubuntu 20.04 中调试一个应用程序:
我想知道涉及哪些环境变量及其各自的值。当我意识到有一个没有值的“空名称变量”时,我感到很惊讶。有 ltrace 输出:
有谁知道这可能是什么?有一种方法可以给环境变量一个空值吗?
linux - What could be the interpretation of these strace outputs?
I have a problem with a calculus software in Linux (Ubuntu 20.04). When I submit a calculus, the work is performed perfectly. The log file indicates that everything was completed successfully and all the results are perfect.
The problem arises when I try to submit another calculus: the numerical modulus stills busy. So, I traced the PID of the process with strace -p PID
. This is the output:
And it goes on to infinite printing clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=2, tv_nsec=0}, 0x7fff57f793a0) = 0
Is there some useful information? What could this result be saying?
debugging - ltrace 不显示对库的所有调用
我正在使用专有的 3rd 方库在 x86 上使用 Ubuntu Linux。这个库使用线程。这是一个带有 C++ 包装器的 C 库,但仅记录了 C++ API,并且给定的示例程序仅使用 C++ API - 但是,我想使用 C API。由于大多数(甚至全部?)C++ 代码似乎都在头文件中,所以我可以查找“幕后”的 C 调用并编写我的 C 代码。不幸的是,有些东西在我的代码中不起作用,所以我尝试ltrace
使用示例程序来查看究竟做了什么 C 调用以及以什么顺序:
但是,它只显示了一些 C 调用,而不是全部。实际上,看起来这些调用甚至不是从 C++ 接口进行的(根据gdb
至少其中一个是由 C API 函数之一在内部进行的)。lib3rdparty.so
没有符号表:
为什么不ltrace
显示所有通话,只显示一些?我需要启用某些东西吗?我将尝试从gdb
会话中收集 C 调用,但随着网络连接的建立,恐怕我会遇到超时。还有其他方法可以记录对特定库进行的调用吗?
linux - 如何为 mipsel 构建 ltrace?
我已经下载了静态gdbserver : gdbserver-7.12-mipsel-i-v1-sysv
,并且在我的设备上运行良好。
如何ltrace
为同一个拱门构建或下载?