How do I strace processes that use clone, to create multiple threads?
I've tried the latest strace.
Thanks.
>
> How do I strace processes that use clone, to create multiple threads?
> I've tried the latest strace.
> Thanks.
Sorry, I was going for concise, and brief, but realise now I probably went
too far.
Details: Kernel 2.4.11 strace 4.4 (neither of these seem critical.
http://www.edonkey2000.com/files/ed2k_linux_gui_0.1alpha.tar.gz
Has a binary of a p2p client for linux.
It's closed-source, and has a number of issues.
In attempts to find workarounds for these, I attempted to strace the process,
and it diddn't quite work.
It only ever traces syscalls made by the process that originated the
clone call, never resultant processes, even with -f set.
Attempring to connect and trace the resultant processes causes strace to
exit immediately, sometimes STOPing the process that was attempted to
be traced.
As all the work is done by the threads, and these seemingly can't be traced,
there is an annoying problem.
Ian Stirling <[email protected]> writes:
> Details: Kernel 2.4.11 strace 4.4 (neither of these seem critical.
> http://www.edonkey2000.com/files/ed2k_linux_gui_0.1alpha.tar.gz Has a binary
> of a p2p client for linux. It's closed-source, and has a number of issues.
> In attempts to find workarounds for these, I attempted to strace the
> process, and it diddn't quite work.
>
> It only ever traces syscalls made by the process that originated the
> clone call, never resultant processes, even with -f set.
> Attempring to connect and trace the resultant processes causes strace to
> exit immediately, sometimes STOPing the process that was attempted to
> be traced.
AFAIK, strace 4.4 doesn't know how to trace clone/threads. I think they're
working on adding the capability. If you're desperate, you can try
subterfugue, which can trace clone/threads, although it's alpha code and has
some other problems. (There's a debian package, or see http://www.subterfugue.org.)
Mike