gpt4 book ai didi

c - 如何使用ptrace附加进程中的所有线程

转载 作者:行者123 更新时间:2023-11-30 16:05:50 25 4
gpt4 key购买 nike

linux中有一些线程的进程。

我知道只有1个线程调用syscall recvfrom套接字x,我想查找此线程的tid(使用ptrace,不使用strace)

什么是最好的方法?使用PTRACE_ATTACH附加到pid,然后在/ proc / pid / task上运行以获取所有线程ID,然后附加到每个线程,并找到使用PTRACE_SYSCALL调用recv的线程ID?

有没有ptrace,有没有简单的方法?

最佳答案

如果您查看ptrace的手册页,则会显示-


  首先需要将示踪剂连接到示踪剂。附件和
         后续命令是针对每个线程的:在多线程进程中,每个
         螺纹可以单独连接到...




ptrace(PTRACE_foo, pid, ...)



  其中pid是相应Linux线程的线程ID。


要回答您的问题-


  什么是最好的方法?使用PTRACE_ATTACH附加到pid,然后在/ proc / pid / task上运行以获取所有线程id,然后附加到每个线程并使用PTRACE_SYSCALL查找调用recv的线程ID


是的,这是正确的方法。

关于c - 如何使用ptrace附加进程中的所有线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60157129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com