我没有找到任何用于在linux进程中跟踪pthread的线程的工具。我想要像strace / ltrace这样的东西,是否可以实时查看来电? 谢谢
答案 0 :(得分:14)
strace也适用于线程。使用strace -f
来排除所有线程。
要仅划分特定线程,首先必须找到它的tid(线程ID)。 线程有线程ID,它实际上是一个pid(进程ID)
一旦你知道线程的pid,使用strace -p the_pid
来划分该线程。
可以在/proc/<pid>/task/
中找到进程中所有线程的pid,或者可以使用gettid()
C调用来学习当前线程ID。
答案 1 :(得分:2)
实际上strace不如perf。
使用perf工具,您可以获得更多信息。
例如,如果某些线程挂起,并且您想要查找挂起的函数调用, 使用strace -p pid-id返回有限的信息,但是perf top或perf -t tid返回更多