linux - 如何使用 strace 跟踪子进程?

标签 linux multithreading strace

我使用 strace 简单地附加到一个进程。该进程创建了 90 个线程。当我找到有问题的线程时,我不得不乏味地搜索父线程,然后是祖父线程,依此类推,一直到根进程。

是否有技巧或工具可以快速找出哪个线程创建了另一个线程?或者更好的是,打印像 pstree 这样的线程创建树?

最佳答案

strace -f 跟踪 fork()ed 的子进程。

关于linux - 如何使用 strace 跟踪子进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4053142/

相关文章:

c - 修改 strace 以捕获并替换打开的系统调用中的文件名

linux - Shell:通过 root 用户 postgres 执行的并行命令

c - mmap vs sbrk,性能比较

linux - 自动 qsub 作业完成状态通知

multithreading - 如果posix互斥锁被解锁同时锁定了多个线程,会发生什么情况?

python - 单生产者多消费者

c - 尝试将 GDB 附加到进程时如何解决 "ptrace operation not permitted"?

linux - 替换字符串中的空格并转换为小写

c - 无等待环形缓冲区

linux - 如何使字符串参数的 strace 打印地址而不仅仅是它们的值?