我正在尝试编写一个共享的 object 来拦截一些文件系统 API 调用,例如来自应用程序的打开、关闭、读取、写入等。 拦截是使用 LD_PRELOAD 完成的。 我有条不紊地使用 strace 找出应用程序调用的 API,并在 LD_PRELOAD 加载的共享库中实现它们。 当谈到 stat 时, ...
我正在尝试编写一个共享的 object 来拦截一些文件系统 API 调用,例如来自应用程序的打开、关闭、读取、写入等。 拦截是使用 LD_PRELOAD 完成的。 我有条不紊地使用 strace 找出应用程序调用的 API,并在 LD_PRELOAD 加载的共享库中实现它们。 当谈到 stat 时, ...
我有一个用例在一个进程上使用strace ,它生成 sendmail 进程,但是当使用 strace 时, sendmail进程挂起。 sendmail 在我的环境中使用如下 但是,当对父进程(生成 sendmail 进程)使用strace时,sendmail 将永远挂在后台并如下所示生成,因为操 ...
我在 linux 中使用mutt命令,它在定期运行时有效。 使用“strace”时,它也可以: 但是当使用“strace -f”时,它会失败。 为什么? output: 为什么叉子(-f 选项)会毁了它? 谢谢! ...
我想监视和记录特定进程产生的所有流量。 我知道tcpdump ,但它似乎不支持按进程(pid/path,或至少是用户)过滤。 还有其他方法可以记录进程中的所有流量吗? 理想情况下,我也应该能够过滤端口。 谢谢! ...
我一直在尝试使用strace来跟踪运行用 c/c++ 编写的本机应用程序时执行的系统调用。 在多次尝试“真实世界”应用程序后,我意识到事情并不像 Linux 那样简单。 首先,因为有更多的系统调用(这很好),但真正的问题是我什至可以看到我知道应该在 strace 中弹出的系统调用。 所以我决定创建 ...
我试图编写一个对管道进行基准测试的程序(linux - IPC)。 这是我到目前为止所得到的。 使用gcc -std=gnu99 -Wall -O2 -DMEASUREMENTS=5 -o bench_pipe bench_pipe.c 根据MEASUREMENTS ,它会卡在不同的位置,例如 ...
我有一个商业(闭源)应用程序,在通过 nfs 运行时会导致一些与 I/O 相关的问题。 使用 strace 我在 strace output 中看到了所有文件访问。 我想使用那个 strace output 并创建一个模拟相同访问模式的工具,这样我就有一个不需要软件许可证或其他必要条件的复制器。 是 ...
我发现了一些类似的主题,但没有找到有用的解决方案。 由于我有更多信息要提供,我打开了这个问题。 我的 PyTorch 脚本经常卡在训练服务器上。 Htop 显示只有一个green CPU 条,而其他活动核心几乎 100% red 。 根据F1的解释,红色表示内核时间。 每当出现这个 100% ...
所以我有这个代码所以我想知道这是什么trace_fd = open(DEBUGFS "trace_pipe", O_RDONLY, 0); 看起来像是在阅读痕迹,但什么是痕迹,所以开始告诉我一些关于痕迹的事情,我可以阅读任何痕迹/那里有多少痕迹。 如果我在跟踪 pipe 上进行写入,那么写入系统调用 ...
我正在使用 strace 和 gdb 分析多线程进程。 在其中一个 pid 上,我使用以下命令进行分析: output 显示正在对“sendto”进行连续调用。 但是,当我将 gdb 附加到进程时,在“sendto”上设置断点并针对线程 ID(条件 1 $_thread==tid)设置条件时,我惊 ...
我在 bash 终端上有以下命令,效果很好: 该命令附加了 strace 的 output 文件。 使用 csh 终端时如何获得相同的结果? 谢谢。 ...
我正在尝试运行一些 strace 命令,如下所示: 我想在 trace.log 上 go 并在它运行时对其进行解析,并将@cmd stdout 打印到屏幕上。 知道我应该怎么做...帮助:) ...
考虑以下情况,其中一个程序尝试写入其标准输出,该标准输出通过管道传输到另一个程序的标准输入: 这种情况发生在以这种方式成功传输几兆字节的数据之后。 我排除了与文件系统相关的问题。 内核日志不显示任何信息。 我该如何调试这种情况? ...
我有一个工作在可中断睡眠state(S),挂了几个小时。 不能使用 gdb(gdb 在附加到 PID 时会挂起)。 不能使用 strace,strace 会恢复挂起的作业 =( WCHAN 字段显示 PID 正在等待 ptlrpc。 上网查了一下,好像是lustre操作。 打印文件还显示该程序卡 ...
我们有一些 php-fpm 进程在 ECS FARGATE 任务上卡在我们的生产系统中。 我尝试使用“strace -p 50”调试这些服务,其中 50 是我的 php-fpm 子工作进程的 PID,我在 root 用户下运行它,但是收到此错误: 我已经修改了 /etc/sysctl.d/10-pt ...
我正在尝试为我正在尝试构建的嵌入式系统编译一些东西。 但是,在运行我为系统构建的二进制文件时,我遇到了failed to map segment from shared object: Invalid argument 。 这发生在任何不只是简单的循环和打印的东西上。 以调试的名义,我构建了一个二 ...
我已经运行了straced JVM(OpendJDK 11): strace -e trace=mmap java -Xms8192m Main 输出是: 我将堆的初始大小设置为 8192M,并尝试在 strace 的输出中找到堆的分配。 我找不到。 为什么? ...
如果我编译以下程序: $ cat main.cpp && g++ main.cpp #include <time.h> int main() { struct timespec ts; return clock_gettime(CLOCK_MONOTONI ...
在最近的工作面试中,我有多个简单的问题。 起初,我被要求编写一个简单的程序,从用户那里获取输入 x 并在 memory 中分配(使用 malloc)x 字节。 我简单地写道: 然后我被告知在运行我的可执行文件时显示所有被调用的系统调用,所以我去了终端并输入: 这很棒,直到他问了类似的问题: 您在程 ...
我有一个 Qt-Qml 应用程序,我使用appimage-builder在 Ubuntu 20.04.2 上构建和打包。 我尝试将其部署到 Debian 10.8.0 虚拟机。 当我尝试运行.AppImage时,它会等待几秒钟,然后在没有 output 的情况下停止。 如果我从提取的 AppRun ...