开发者

tracing pthreads in linux?

开发者 https://www.devze.com 2023-04-11 11:42 出处:网络
I did开发者_开发百科 not find any tool created for tracing pthread\'s threads in linux process. I want something like strace/ltrace, is there something to view calls in real-time?

I did开发者_开发百科 not find any tool created for tracing pthread's threads in linux process. I want something like strace/ltrace, is there something to view calls in real-time? Thank you


strace works for threads as well. Use strace -f to strace all threads.

To strace only a particular thread, you first have to find its tid (thread id). Threads have thread id's that's really a pid (process id)

Once you know the pid of the thread, use strace -p the_pid to strace that thread.

The pids of all the threads in a process can be found in /proc/<pid>/task/ , or the current thread id can be learned with the gettid() C call.


actually strace is not as good as perf .

use perf tool , you can get more information.

for example, if some of your threads hangs , and you want to find out what functions calls that hangs, use strace -p pid-id returns limited information, but perf top , or perf -t tid returns more

0

精彩评论

暂无评论...
验证码 换一张
取 消